Block I Illinois Library Illinois Open Publishing Network

Glossary

“If…Then,” “If…Then…Else,” and “If…Then…Else If” Statements

A Control Flow Statement that specifies the conditions under which one path or another should be taken.

Abstraction

The level of abstraction is the level of complexity to which an electronic system or computer program is created. At the lowest level of abstraction, every individual component is identifiable. As the level of abstraction increases, few details related to the system can be identified. At the highest level of abstraction, only the entire system is identifiable. Within programming, the ideal is to determine the most appropriate level of abstraction at which to incorporate the appropriate collection of blocks of code, within modules stored within libraries to facilitate more general-level writing of code.

Algorithm

A procedure developed to solve a problem or accomplish a task in a strategic way. While not exclusive to computer programming, it is often paired with data and information processing procedures.

Analog

Specific to electronics, an analog signal is any continuous electric pulse of varying amplitude. If we view a tone playing from a speaker as a sine wave, an increase in amplitude is equivalent to a louder sound from the speaker. An increase in the number of waves within a certain period of time is equivalent to a higher-pitched tone (perhaps from a middle C note to a middle E note). In these graphs of two different sine waves, the left sine wave plot shows increasing amplitude of the same tone while, the right sine wave plot shows a stable tone held at stable amplitude.

Anode

The positively charged electrodes conducting electric current from a cell into a device like a diode.

Artificial Intelligence (AI)

The use of computers not just to collect and store data, but to run algorithms which learn from data in order to make predictions and decisions about the data.

ASCII

The American Standard Code for Information Interchange (ASCII) uses 7 binary 0s and 1s (bits) to represent characters. The first 32 characters (00000000 to 00011111) are unprintable control codes. Codes 32-127 (00100000 to 01111111) are printable American English codes, including everything seen in this glossary term definition.

Audio/Video Interfaces

Computers incorporate a range of audio/video interfaces, depending on vendor. Some of the most common interfaces currently in use include:

High-Definition Multimedia Interface (HDMI), a proprietary audio/video interface standard, currently at version 2.X. This is included as the display port on the Raspberry Pi Model 3 and Model 4 microcomputers.

DisplayPort (DP) is a VESA standard digital display interface, and is backward compatible with other interfaces such as HDMI. Apple computers use the Apple-designed Mini DisplayPort (mDP), although beginning in 2016, Apple began moving towards use of the USB-C connector.

Thunderbolt is the brand name of an interface standard developed by Intel and Apple. The standard allows the multiplex of individual data lanes from multiple connected devices to a single DisplayPort (DP), Mini DisplayPort (mDP) (Thunderbolt versions 1 and 2), or USB-C (Thunderbolt version 3) connector.

Basic Input Output System (BIOS)

Software, generally stored within its own memory chip on the systems board of a computer, which provides initial self-diagnosis of the computer before beginning the boot loading process. The original BIOS framework has mostly been replaced by the newer Unified Extensible Firmware Interface (UEFI), although the term BIOS is still sometimes used.

Binary Notation

Binary notation is based on the base-2 numeral system using only two symbols. The symbols used are the digits 0 and 1. Binary is the standard notation for Boolean true or false logic tests. This is in contrast to the base-10 numeral system commonly used in the English language, and which uses the digits 0, 1, 2, 3, 4, 5, 6, 7, 8, and 9.

Boolean Logic

A form of algebra used in mathematics, electronics, and computer hardware and software. At its base, all values are found to be either true or false using the Boolean operators "OR," "AND," and "NOT."

Breadboard

A breadboard used to be a board (sometimes literally a board for cutting bread) with nails pounded into it so that you could wrap wires around them to make experimental models of electric circuits. Today, the breadboard is a piece of plastic with holes in it. Underneath each hole is a metal clip. These metal clips connect together a specified set of holes ordered into a row or column. This way, pushing a piece of conductive material into one hole right away connects that material to things pushed into other holes that are joined together by that clip.

perfboard is a thin, rigid sheet with holes but no metal clips on the other side. Instead, copper pads are used, to which conductors can be soldered. In some cases, as with the perma-proto breadboards from Adafruit, copper is further used to group together certain holes, mimicking the breadboard in a way that provides greater durability for prototyping work.

Bundled Software

Applications like file managers, user managers, and software managers, and applications like web browsers, text editors, photo and movie editors. Device and print drivers determine which hardware is "plug and play" ready.

Cable Internet

Redirects a cable channel to be used for Internet. Neighborhood shares bus topology. In the U.S., cable internet prioritizes download speeds.

Campus Area Network (CAN)

A version of a Metropolitan Area Network, the CAN is a network the size of a college, organization, or business campus. These types of networks are typically community-owned and/or -managed.

Cascading Style Sheets (CSS)

A style sheet language is used to format the expression of a structured document. While HTML itself provides a standard markup language for web page creation, alone, a web browser would make key decisions regarding the expression of the various tag elements within an HTML file.

The Cascading Style Sheets (CSS) is a modern style sheet language for use with HTML, XML, and other common markup languages used on the Internet today. Different relevant CSS files can be used to separate out content and presentation so that layout, colors, and fonts can be addressed independently, reducing complexity and repetition. This also allows distinct structures for different presentation formats such as web, e-book, and PDF displays of the same HTML or XML document.

Cathode

The negatively charged electrodes conducting electric current out of a device, like a diode, and back to a cell.

Cell-Based Internet

3G adds the EV-DO (Verizon, Sprint/Nextel) or HSDPA (AT&T, T-Mobile) protocol to cell voice's protocol. 4G adds the WiMax (Sprint) or LTE (Verizon, AT&T) standard to cell's voice protocol. Equivalent to bus (shared) topology. Prioritizes download speeds.

Central Processing Unit (CPU)

The CPU is the central processor of a computer. It is built of an ever-growing number of electronic circuits, enabling it to carry out the basic arithmetic, logic, controlling, and input/output operation instructions for the computer. Over the decades, more electronic components have been placed on a single and increasingly small integrated circuit (IC) chip. Today's CPUs are actually multi-core processors, with one chip being constructed of two or more CPUs called "cores." It is on the CPU that instructions for the vast majority of programming code is actually run. The CPU uses three main steps: fetch, decode, and execute, after which the instruction is returned to a memory integrated circuit.

Circuit

When working with electrical components, a circuit is the complete path that allows an electric current to flow from source voltage back to the source ground. Circuits generally include one or more electrical components along this path which are powered by the source.

A closed circuit is one in which current can flow fully from its source voltage to its ground return uninterrupted.

An open circuit is one in which there is an interruption in the flow of current from its source voltage to its ground return.

Client-Server Architecture

A computing structure which separates the work between a resource provider, or server, and a resource requestor, or client. The client-server model is distinct from centralized computing, in which servers reside in a central location or a set of regional locations. It is true that when there are many simultaneous client programs initiating requests, the server computer program(s) providing resources and services resides on centralized computer hardware called a server, specifically designed for computation, storage, and networked sharing. That is, the hardware called a server is just a computer specially designated to run one or more different applications designed to provide the server side of the client-server protocol.

Cloud Computing

Cloud computing is a form of client-server architecture, where a distributed network of data centers ensures the regular availability of computer storage and power, which is accessed over the Internet.

Cobbler

A Cobbler, used in electronics in combination with a prototyping board such as a breadboard, is a plastic header to which a ribbon cable can be attached, which can then be inserted into the prototyping board. A T-cobbler extension is sometimes included using a printed circuit board, allowing the header to which the ribbon cable is attached to be separated from the male pins that are inserted into the breadboard. Labels on all cobblers identifying each of the electrical circuits associated with each pin can then also be included on the printed circuit board.

Coding

Coding is the practical work of using a system of words, letters, figures, and other symbols to substitute for another set of words, letters, figures, and other symbols. Coding can include the creation of codes of practice and codes of ethics within a profession, codes of classification or identification, and codes of information and instruction within a technology. Decoding is the work of moving a code back to the original system of words, letters, figures, and other symbols. This is compared to programming, which is the creation of a planned series of events, items, or performances using or guiding the creation of codes. Coding is more context-oriented, while programming is oriented towards the bigger picture. DifferenceBetween.net has a helpful page providing further comparisons between coding and programming.

Combinational Logic

Boolean logic in which the output is based only on the present input.

Community Networks

Called the "public space in cyberspace" by Doug Schuler, a community network facilitates the sharing of public information between residents within a geographic area online. Community wireless networking uses standard wireless Ethernet (Wi-Fi) outdoors; anyone can use off-the-shelf equipment to create. Equivalent to bus (shared) topology, with synchronous upload and download speeds.

Computer

An electronic device using a program of instructions to collect, store, process, and transmit data. Many of our daily use devices, including automobiles, mobile phones, home routers connecting a building's network to the wider Internet, the growing number of "smart" internet-connected devices, such as watches; building heating, ventilation, and air conditioning (HVAC); light and sound systems; and our laptops and desktops, are all built using computers. While some use a more significant combination of integrated circuit processors and potentially multiple printed circuit boards, increasingly, these parts are more tightly integrated into a single printed circuit board and a reduced number of integrated circuits. Depending on design and use specifications and marketing, these may be referred to as microcomputersmicrocontrollersmicroprocessors, or system on a chip (SoC). The Raspberry Pi is a general-purpose microcomputer with integrated system-on-chip central processor and other microprocessors.

Conditional

A command that determines under which specific coding pathway should be executed based on the occurrence of another sequence in the program.

Conductors

Electrical conductivity is the capacity to transmit electricity from one place to another. There are many different substances, such as copper wires and other bare metal pins, that are used to build electronic components. Examples of conductors include breadboards, jumper wires, printed circuit boards, and ribbon cables.

Control Flow Statement

A control flow statement provides a choice between two or more paths, and defines the specific sequence in which individual statements within that path should be executed or evaluated.

Controller

An integrated circuit that interfaces with one or more other devices on a printed circuit board. Besides the CPU, this can include input/output controller(s) and a graphic processing unit (GPU) controller. The Raspberry Pi Model 3 has two controllers, the system-on-chip (SoC) controller that includes the CPU and computer memory, and a controller interfacing with the wired Ethernet and four USB ports.

Current (A or Ampere)

Current is a flow of electrons from relatively positive points to relatively negative points, and is listed in amperes, or amps. Different electronics are capable of using different maximum currents, so it is sometimes necessary to provide resistance to reduce the current passing through the component.

Daemon

A computer program that runs in the background, providing services as needed. In this case, each time it is launched, the HTTP daemon starts itself based on the specifications within the configuration file, and then mostly hangs out, twiddling its thumbs and waiting for a call asking for something. When the call comes, it gets busy doing its stuff before going back to waiting mode. You'll often see a running HTTP server daemon listed as httpd.

Database

A database is a collection of organized data. A database uses a similar starting format to that of the rows and columns spreadsheet, this time calling them records and fields, respectively, which are stored within tables. But the vast majority of databases used today also add in a relational aspect through the use of a key which links tables together. And indeed, many of today's spreadsheets have implemented forms of linked cells across sheets as an elementary form of relational database.

To more formally make use of relational databases on a personal desktop, it's possible to move from something like Microsoft Excel to Microsoft Access, which includes a Database Management System (DBMS). The DBMS is the software that interacts with end users, applications, and the database itself to capture and analyze the data. A query language is needed to allow communications within the database and from outside agents into the database. A commonly used one is the Structured Query Language (SQL), often pronounced sequel.  Together, the database, DBMS, and any associated applications make up a database system.

While many databases are proprietary, non-free software, some, like MySQL, include both a GNU General Public License (GPL) version and a Proprietary version. When MySQL was acquired from the founding Swedish company by Oracle, co-founder Michael Widenius launched a new fork of MySQL called MariaDB, a community-developed, commercially supported fork of MySQL, with GPL v2 license for most of the database system and a GNU Lesser General Public License (LGPL) for the client libraries.

Both MySQL and MariaDB make use of SQL and include standalone clients, allowing users to interact directly with the database itself. Both are highly compatible and intend to remain so. Both can be used as part of a Linux, Apache, MySQL/MariaDB, or Perl/PHP/Python (LAMP) base infrastructure to serve a range of database-driven web applications, including Drupal, Joomla, and WordPress, and websites including Facebook, Twitter, and YouTube.

Desktop Environment

The desktop environment is a collection of software that provides a predictable look and feel. This includes a Window Manager that controls the placement and appearance of windows, support icons, menus, etc. For some operating systems, such as Windows and macOS, the desktop environment is the branded look of the operating system and cannot be changed.

Digital

Specific to electronics, a digital signal is a representation of a physical quantity expressed as a series of the digits 0 and 1, that is, binary. The range of decimal numbers representing physical quantities in our work, for instance 12 seconds, is converted to a binary equivalent--in this case, 1100. In this illustration, the dots along the analog sine wave are data points collected to create the digital representation of the physical quantities.

Digital Subscriber Line (DSL)

Adds two channels to standard phone line for Internet. Hub and spoke (dedicated line) topology; full duplex. In the U.S., DSL prioritizes download speeds.

Diode

A semiconductor that passes current from one terminal to another terminal and in which current can only flow in one direction, known as rectification. Some common uses of diodes include reverse current protection, to clip or clamp circuits, and to provide logic gates. Another common usage is as a source for generating light, known as a Light-Emitting Diode, or LED. Different LEDs work at different wavelengths (the measure of distance between the peak and the trough in a wave), associated with different recognized colors of light. Some LEDs are made to be especially bright, such as a car headlamp made to help us see the road more clearly. Others are meant to be more diffuse, thereby working more as a source of information, like a car brake light or turn signal. Multiple light-emitting diodes can be packaged together in groups of three that include a red, a green, and a blue LED. These RGB LEDs can be further packaged together to create a full LED matrix display.

Domain Name System (DNS)

A naming system which translates domain names to IP addresses. This ensures a consistent name space for information resources.

Dynamic Host Configuration Protocol (DHCP)

As part of the Internet protocol suite, DHCP is a network management protocol. DHCP servers dynamically or statically assign IP addresses to connected nodes on the local area network (LAN) so that they can communicate with other IP networks.

Embedded Device

An integrated circuit, also known as a chip or a board, that brings together several components, such as a processor, memory, controllers, and input/output peripherals. It can then be embedded into a larger microcomputer or microcontroller system.

End-to-End Principle

According to this principle, network features should be implemented as close to the end nodes of the network as possible. Everything that can be done within the client or server application should be done there. Only those things that interconnecting devices must do should be done there.

Ethernet Port

An Ethernet port is an Institute of Electrical and Electronics Engineers (IEEE) standard connector for 100BASE-Tx/1000BASE-T full duplex Fast and Gigabit wired Ethernet communications, using twisted pair CAT-5 and CAT-6 copper cabling.

Federation of the Locals

The principle that networks begin and end with local area networks (LANs). The other types of area networks, including the wide area networks that comprise the Internet, then serve as a bridge between the local area networks.

Fiber Optics

Ultra-high-speed communications technology with one or more channels for Internet. Hub and spoke (dedicated) topology with synchronous upload and download speeds.

Fiber-to-the-Home (FTTH)/Fiber-to-the-Premises (FTTP)

When fiber-optic communications infrastructure reaches from the infrastructure (such as cable laid underground in the street) into privately owned property to reach an ISP subscriber’s home or workspace.

File Manager

A file manager is a software program that helps you manage all the files on your computer. For example, file managers allow you to view, edit, copy, and delete the files on your computer's storage devices. It is known as the File Manager within the Windows Operating System and as the Finder on the Mac Operating System. The file manager makes use of the Graphical User Interface (GUI). The same tasks you can complete with the file manager can also be done through the Command Line Interface (CLI) terminal.

For Loop

A control flow statement that specifies the conditions under which a sequence of events should be executed.

Forever Loop

A control flow statement used to create a function that keeps running a sequence of code infinitely.

Function

A unit of code defined by its role within a more general code structure. To execute the function, it is provided one or more inputs, and produces a concrete result. This result may, but is not necessarily required to, be returned back to the caller of the function.

General Purpose Input/Output (GPIO)

A general purpose input/output, or GPIO, is a common, open-ended transmission mechanism used with integrated circuits on microcontrollers, microcomputers, and other printed circuit board electronics. Pins are provided to which female-ended wires can be connected. GPIO pins can be programmed as input (e.g., sensor data; ground) or output (e.g., state change; power) sources. GPIO pins can be preconfigured for special purposes, or can remain undefined until specified by a user at run time. In general, GPIO provides a means to tailor pins to fit specific design goals within applications, as well as reusability across applications.

Ground

In electrical engineering, ground, also called earth, provides a physical reference point in an electrical circuit from which voltage can be measured.
For electronic circuits, electrical ground, also called common, is the return path to a power supply.
Today, most building 120- and 240-volt outlets have power, common, and ground. Many microelectronics make use of only power and common, while certain of our electronics also need earth-source ground in addition to power and common, or electrical ground.

Hypertext Markup Language (HTML)

The standard markup language for data, structured into documents, intended to be displayed on a web browser. Using a standard syntax, HTML annotates a document with a semantic structure. For example, wrapping a phrase in <em></em> HTML tags denotes that those words are italicized when rendered in the web browser.

Hypertext Transfer Protocol (HTTP)

The ever-present application layer protocol used to request and access media (such as webpages) from across the Internet. Website URLs begin with “http” or “https” to signify this protocol (the added ‘s’ denotes the secured HTTP protocol, which is increasingly common). The Hypertext Transfer Protocol is part of the Internet protocol suite.

I2C

The Inter-Integrated-Circuit serial communications bus.
Unlike UART and SPI which provide send and receive communications to one or two attached devices, respectively, I2C is a bus and can work with device addresses to do serial send and receive communications with multiple devices.

Initialization

The assignment of an initial value for a variable.

Input/Output Devices

Input devices let users control the computer (e.g., keyboard, mouse, touch-sensitive devices). Output devices inform the user of what is happening (e.g., monitor, printer).

Integrated Circuit

Integrated circuits (ICs) are semiconductor wafers which contain a collection of tiny resistors, capacitors, and transistors. These can then be built to serve a wide range of electronic functions. In practice, larger-sized electronic components used to build circuits are first tested using materials like breadboards for rapid prototyping. They are then redesigned to be built into integrated circuits and optimized for regular, more standardized use. At times, a mix of electronic components along with integrated circuits are themselves used on breadboards to do further rapid prototyping of yet larger circuitry. The 5-Key Capacitive Touch Sensor included in the kit for this book contains a mix of integrated circuits. Examples of integrated circuits include processors, memory, and controllers.

Intelligent Agents/Smart Devices

Autonomous devices with software that facilitates the device's perception of its environment and execution of actions that maximize chances of achieving target goals.

Interconnect Device

A device used to connect nodes together. A switch or hub is used with wired Ethernet, an access point is used for wireless Ethernet (WiFi), and a router or gateway builds an Internet by connecting different LANs together.

Interdevice Internetworking

The facilitation of two or more devices working with each other.

Internet Protocol (IP)

A key communications protocol for routing data within networks, thus enabling the Internet. This protocol delivers packets from a sender to the destination and requires IP addresses for routing these packets. Domain Name Server (DNS) services are used to associate IP names with specific IP addresses.

Iteration

Repeating one step in a program multiple times.

Jumper Wires

Wires are made of either a thicker solid metal or thinner strands of multiple wires, placed within a non-conductive material. The exposed ends of the wire can then be inserted into two different holes on the breadboard to safely conduct current from one hole to another, helping to extend the circuit between different electrical components. These are sometimes attached to a plastic holder to provide greater strength. If a solid metal wire end has been soldered into the other side of that plastic holder, it is known as a male end. If a metal wire can be temporarily inserted into the other side of that plastic holder, it is known as a female end. If a pair of metal clips attached with springs is provided, it is known as an alligator clip.

Kernel

The heart of the operating system. It is the go-between from applications between input/output controllers, memory, the central processing unit (CPU), and storage devices.

Link Lights

LED light found on wired Ethernet cards and switches. When lit, the lights indicate that the card and switch are on and working properly and that the Ethernet cable is plugged in and working properly.

Lists and Arrays

Lists and arrays are two commonly used ways to store data. A list is a set of data arranged in some order. Lists are mutable, meaning that the order of the items within the list can change. This allows for sorting, shuffling, adding, and deleting items from the list. One form of lists, called an array, is an indexed set of related elements associating one thing with another; these are especially useful in control flow loops, such as button counters. However, insertion or deletion of items within an array's list can prove difficult.

Local Area Network (LAN)

The simplest type of Internet-based area networks is a local area network (LAN). A LAN is a network with connected devices in a close geographical range. It is generally owned, managed, and used by people in a building. For example, connecting to a Wi-Fi network at a coffee shop or library would mean that your device would be a node on the coffee shop or library's publicly accessible LAN. Many businesses and institutions have a second, private LAN for use by staff only.

Machine Learning

A branch of artificial intelligence (AI) in which algorithms include "teaching" models that continually improve machines' predictions when fed data.

Media

Media are used to interconnect devices on a network, and are made of four primary materials: coaxial copper cable, twisted pair copper cable, fiber optics cable, and radio waves.

Media Access Control (MAC)

Media access control (MAC) addresses are unique identifiers assigned to network interface controllers (NICs) as part of the data link layer of the OSI model.

Memory

Memory is the part of a computer in which data or programming instructions are stored and retrieved. Memory is constructed using high-performance integrated circuit chips to increase performance, as compared to storage devices such as hard drives and lower-performance but less expensive flash drive integrated circuit chips. Much of this type of memory is volatile random-access memory (RAM), in which data is lost when power to the computer is turned off. There are multiple types of RAM: The higher-cost but faster-performing static RAM (SRAM), is used with the CPU to increase CPU performance, while the less costly but slightly slower dynamic RAM (DRAM), or more recently double data rate synchronous dynamic RAM (DDR SDRAM) is the main memory of computers. The Raspberry Pi Model 3 comes with 1 GB (Gigabyte) of DDR, while the Raspberry Pi Model 4 is available with 1GB, 2GB, or 4GB of DDR, making it very similar to today's smartphones and Chromebook computers. Many laptops today come with 4GB to 8GB of system memory.

Metropolitan Area Network (MAN)

A collection of LANs and devices in an area the size of a city.

Modem

A portmanteau of the words Modulator-Demodulator. This device converts data provided from computing devices into binary zeros and ones so that it can be transmitted through a network.

Modularization

Including blocks of code over and over into a program, or having a very long list of code in a single instruction set, can become confusing and hard to debug. A module is a block of code, separated out into a manageable chunk. Functions and subroutines are examples of modularization.

Motherboard

The printed circuit board found in a computer, which contains the principal components, along with ports and connectors to other devices. The term "motherboard" arose at a time when it was paired with one or more supporting printed circuit expansion boards, often referred to as daughterboards or expansion cards, in order to achieve the full general functioning of the computer. The motherboard is sometimes also referred to as the system board or the mainboard.

Network Interface Card (NIC)

The hardware necessary for a node to connect to a network. For example, an Ethernet card (wired or wireless) is used for a LAN connection. A modem (cable, DSL, dialup) is used for traditional Internet. Optical network terminals (ONTs) are used for fiber to the home.

Network Manager

Operating system utility that shows network configuration. An IP address of 0.0.0.0 or one that starts with 169.254 indicates that you are connected to the media, but aren't getting a proper IP address from the address server (usually the gateway router).

Node

Any device directly connected to the network that has been assigned a unique identifier or address on that network, such as a MAC address (also known as the hardware, physical, or Ethernet address), the serial number for Ethernet cards, or an IP address (the address used by the Internet protocol).

Ohm’s Law

German scientist Georg Simon Ohm developed this simple, linear mathematical principle relating current (I), resistance (R), and voltage (V). There are three equations that are used in direct current circuits. If needed, these can help us to determine, for instance, which voltage source or which resistor ohms we should use to achieve a certain passage of current through our circuit.

V = IR ... Electrical voltage equals amperes times ohms
I = V/R ... Current amperes equals voltage divided by ohms
R = V/I ... Resistance ohms equals voltage divided by amperes

Open Systems Interconnection (OSI) Model

The Open Systems Interconnection (OSI) model expresses the relationship between the seven layers of computer and telecommunications systems. These layers are:

1. Physical: Copper & fiber cables, radio frequency & infrared wireless.
2. Data link: Media Access Control (MAC).
3. Network: Routing of data packets.
4. Transport: End-to-end connections.
5. Session: Interhost communication.
6. Presentation: Data translation & representation.
7. Application: What the 'end user' sees.

Operating System (OS)

The core software bundle of a computer. The OS supports different aspects of a computer’s basic functions, overseeing the coordination between the physical electronics of the computer and the many software applications that allow us to do our daily computer-based activities. While the physical electronic components of most personal computers support multiple different operating systems, only one OS can be run on a computer at a given time, since it is the central control system of those physical electronics. That is, the OS has the final word on how software interacts with hardware when the computer is turned on and functioning.

The kernel is the heart of the OS, and for the most part remains hidden from view. On the opposite side, the graphical user interface (GUI) serves as the visual mechanism for interacting with a computer, whether via keyboard, mouse, and monitor, touchpad, or something else. All modern computers also include a command-line interface (CLI), such as a terminal window in which applications can be run and data is displayed using text. Indeed, for higher-level programming, research and development, and systems management, a combination of GUI and CLI interfaces used in parallel prove essential.

Packets

When information and communications data sent is sent from the node and onto the LAN and often to the WAN, it is not sent as a single file, such as that we store on a hard drive or flash drive. Rather, it is divided into pieces, called packets. Each packet contains a header and a payload. The header contains information including the source IP address, the destination IP address, and an identification tag to order the packets. The payload is the actual information that is being transmitted, such as web page data or an email. When a packet reaches its destination, the software application will piece all the packets together.

Pair/Triplet Programming

Pair programming (or triplet programming) is common in software development. Two (or three) programmers collaborate on design, coding, and testing, with qualitative evidence suggesting the subsequent design is better, resulting in simpler code that is easier to extend. Further, whether the pair programming occurs between two novice programmers, between a novice programmer and a more experienced programmer, or between two experienced programmers, people learn significantly more about the system and about software development, as both participants bring unique insights. Conversation between the programming pair can occur at many levels as the driver working at the keyboard takes charge of all changes made in the program and the navigator observes all the code that is entered, considers coding options, works to spot and address problems, considers and recommends simplifications, helps with programming style, and designs and verifies testing.

Parallel Circuit

A complete, closed circuit in which current divides into multiple paths to ground. A failure on one path does not impact electronic components passing along another path running in parallel.

Peer-to-Peer Architecture

A computing structure in which individual devices can share information and resources directly without relying on a dedicated central server. Each device can perform a mix of resource provision (e.g., computation, storage, and networked sharing) and resource requesting (e.g., web page, new email or social media posts) tasks. Compare to client-server architecture, in which the client device performs requests while a server device performs resource provision.

Personal Area Networks (PAN)

Personal area networks (PANs) provide a simple computer network organized around a few personal devices, allowing the  transfer of files, photos, and music without the use of the Internet or your home's local network. Two common examples would be your Bluetooth headset or your keyboard and mouse. Depending on the Bluetooth range selected (or chosen for you), this could span 3 feet, 10 feet, or 100 feet. Beyond Bluetooth, other common PAN connectivity includes Infrared (IR), USB, ZigBee, Wi-Fi, and radio frequency (RF, including short-distance AM and FM radio).

Ping

Run from the command line or terminal application to test if you can communicate with another node.

Power Adapter

Our homes, businesses, libraries, and other community spaces typically include wall outlets from which we can plug in our electronics. These are usually either installed to supply 120-volt or 240-volt alternating current (AC) power source to our devices. But many of our devices use a much lower-voltage direct current (DC) power source. It is for this reason that we often need a power adapter that has a plug-in to connect to the wall outlet, and another that has another form of plugging, increasingly today a micro USB connector, to your electronic device. For the kit used in this book, we use a power adapter that works with 120-to-240-volt AC power on one side, and provides 5-volt, 2.4-amp power via a micro USB connector on the other side.

Printed Circuit Board

A printed circuit board is a board base made of fiberglass or glass-reinforced plastic, with one or more layers of copper or other conductive traces placed on one or both sides of the board base. If you've ever tie-dyed a shirt, you've got a good starting point for considering the printing process of a circuit board. Individual electronic components and integrated circuits are then soldered onto specific trace paths to build complex electronics. A small printed circuit board was used to build the 5-Key Capacitive Touch Sensor used in our kit.

Program

program is software containing a series of coded instructions to control the operation of an electronic device (noun), and the activity of creating coded instructions in support of a particular task of an electronic device (verb). Programs are created using a programming language that includes rules and a system of symbols. The language must conform to these rules of syntax and semantics, but unlike many commonly used physical electronics, they often are not created as part of a standards body. A programming language may be developed from scratch, but more often they are built within a programming family, using previous programming languages as a base starting point, and may rely on another programming language to effectively function on a machine. This book explores several popular programming languages:

MakeCode: A web-based code editor developed by Microsoft, adapted specifically for the Circuit Playground Express in collaboration with Adafruit. It provides a block editor similar to the Scratch visual programming language developed by MIT Media Lab Lifelong Kindergarten Group. (Scratch is installed by default in the Raspberry Pi OS and with the available extension can be used with the Raspberry Pi GPIO.) The MakeCode programming language itself is TypeScript, a high-level programming language superset of another language, JavaScript. MakeCode is edited in a web browser at https://makecode.adafruit.com/ and provides a simulator of a Circuit Playground Express. Programs can be downloaded and flashed, that is, written to the read-only memory (ROM) of the Circuit Playground Express, overwriting the previous MakeCode program on the physical device.

Python: A popular general-purpose programming language with a relatively easy-to-use syntax. A range of integrated development environments (IDEs) are available in which code is written, tested, and debugged. The Raspberry Pi comes with IDLE and Thonny, two commonly used Python IDE bundles.

PHP: Hypertext Preprocessor: A scripting language used with web server applications in support of web development, as well as a general-purpose programming language.

SQL (Structured Query Language): Used within database management system servers, like the open-source relational database management system MySQL, which can be installed and used in the Raspberry Pi OS.

Programmable Circuit

An electronic component with an undefined function, allowing it to be programmed and used in reconfigurable ways.

Prototype

The first, preliminary model of a circuit or a system of circuits used when developing a product. Used both as a noun describing a model and as a verb describing the activity moving towards the creation of the model.

Request for Comments (RFC)

RFCs are technical and organizational notes about the Internet and cover many aspects of computer networking, including protocols, procedures, programs, and concepts.

Resistance (Ω or Ohm)

Electrical resistance reduces the flow of current through a circuit. Resistors are the typical electrical components used to provide resistance in a circuit, and are listed in ohms. For instance, the exercises in the book mainly use 470- or 560-ohm resistors, also abbreviated as 470 Ω or 560 Ω resistors.

Ribbon Cable

When a number of insulated wires are brought together to create a flat ribbon of wires, this is called a ribbon cable. Ribbon cables may have a plastic box with solid metal pins extending out from the other side, in which case the box is known as a male header. Other times, a plastic box is made with holes into which metal pins can be inserted, in which case it is known as a female header.

Router

A router is an interconnect device used to transfer data from one local area network (LAN) to another LAN connected to the router.

Schematic

A symbolic and simplified diagram or other representation of a circuit. Throughout this book, schematics are used when an illustration of a circuit is needed without specifying exactly how these would be physically built using a breadboard or other prototyping platform. In this schematic illustration, we see the formal representation of the electronics used to create a complete and functioning circuit that include a 560 ohm resistor, a 5mm LED circuit, and a battery. In the prototype illustration, we see one example of how this circuit could be constructed using a tiny breadboard and a double-A battery.

Semiconductor

A substance that can conduct electricity under some conditions, but not under others. Many electrical components are built using such semi-conductive materials, including diodes, sensors, and integrated circuits.

Sensor

Electrical sensors are devices used to detect input from the physical environment. Light sensors might automatically turn on the headlights of your car, while heat and chemical sensors might turn on a fire alarm. And motion sensors might turn up the heating or cooling in a house, or might count how many people have passed through a gate to and from a library. The Circuit Playground Express that comes with the toolkit has a range of sensor inputs within this printed circuit board, including:

Analog light sensor to detect ambient light, with similar spectral response to the human eye.
Temperature sensor calculated using the analog voltage at a given moment.
Microphone audio sensor, which is a digital microphone that works similarly to the microphones built into our laptops and smartphones, but is smaller and less expensive, well-suited for this educational microcontroller.
Motion sensor using an accelerometer, detecting both motion and gravitational pull.
Seven capacitive touch sensors that can sense the touch of a person, human or otherwise.

Sequence

A particular set of events, and the specific ordering of those events, to complete one step in a program.

Sequential Logic

Boolean logic in which the output depends on the present input as well as a set history of the input.

Series Circuit

A complete, closed circuit in which there is one path along which current flows. When one electronic component along the path fails or is interrupted in some way, all components enter an open state and stop working.

Simple Mail Transfer Protocol (SMTP)

As part of the Internet protocol suite, SMTP is a communications protocol for email servers and clients. SMTP is used to send and receive email.

Sociotechnical

Social and technical aspects of devices and systems are not two separate side-by-side items, but different interdependent aspects of the sociotechnical whole that have emergent properties beyond the sum of their parts. Sociotechnical information systems include a range of hardware, software, and networking technical layers, as well as individual and group social layers.

Specifications

Often called "specs," specifications are formalized practices created using accredited technical standards developed and adopted using an open consensus process under guidelines of a standards body, or using de facto technical standards developed and owned by a single group or company.

Statement

A statement is a single instruction given to the computer based on the rules of syntax and semantics of a programming language. The statement may include both the specific command and clarifying details, such as the color all pixels should be set to.

Storage (Optical, Magnetic, and Flash)

There are a range of different data storage devices: hard drives (HDDs) constructed using magnetic charges placed on a set of spinning platters; DVDs using pits on a spinning platter read via laser; and flash memory integrated circuit chips, such as solid-state drives (SSDs), USB flash drives, and SD cards, which provide computers with long-term storage of data and software applications. Storage devices are relatively slow, so programming instructions need to be moved from storage to memory using integrated circuits to be fetched, decoded, and executed by the processors of the computer. The Raspberry Pi kit includes an 8 GB MicroSD card storage device, although 16GB, 32GB, and 128GB MicroSD cards are available and can be used with the Raspberry Pi. In addition, it is sometimes helpful to make use of USB flash drives or USB hard drives with the Raspberry Pi to provide even more storage.

Store-and-Forward Principle

A telecommunications technique in which information is stored at each intermediate node on the path to a specified destination.

Structured Query Language (SQL)

A language for creating, deleting, and manipulating data in a relational database. Although SQL is a standard language, many vendors, such as MySQL, have their own “dialect.” Relational database management systems are often a key component within the “client-server” architecture.

Subroutine

A unit of code defined by its role within a more general code structure. A subroutine does not need an input and does not provide an output, but simply executes the sequence of code within it.

Switch

Electronic switches are used to control the flow of current on a circuit. They can be used to switch between the closed position, in which a current continues its flow through a circuit, and the open position, in which the current is not passed through. A classic example of this type is a light switch, in which a closed position would turn on a light and an open position would turn off that light. Closing the switch completes the circuit. Other switches are used to control the amount of current that flows across the circuit. A classic example of this type is a dimmer switch for a light used to brighten or dim the brightness of a light.

While the above are common mechanical switches, it is also possible to use programming code to switch the flow of current along a circuit. A common method for doing this is through use of a transistor, which uses a low current signal to one leg of the transistor provided by the program to determine the flow of a larger amount of current through the transistors other two legs.

Themes and Skins

Pre-set packages containing graphical appearance details. Supported in some versions of Windows and Linux. Available as third-party applications in other cases. Supported for many applications, like web browsers. Changes the look and feel of many features at once (e.g., background colors, text font and size, icons, mouse cursor, etc.).

Traceroute

Run from the command line or terminal application to test the performance of each router between nodes.

Transistor

Small electronic switches allowing control of electrical flow within a circuit without using programming code.

Transmission Control Protocol (TCP)

Together with the Internet Protocol (IP), TCP is one of the primary protocols of the Internet protocol suite. TCP specifically defines how data intended to be sent over a network is broken into packets before transmission and reliably reassembled in the right order at the destination application. Many applications, including the web, email, and file transfer, rely on TCP as a foundation.

Uniform Resource Locator (URL)

Also known as a web address, the URL is a commonly used form of the more general Uniform Resource Indicator (URI), strings of characters used to unambiguously identify a resource, such as “https://www.wikipedia.org.” The first part of the URL states the protocol to be used. While web browsers support several different protocols, we almost always make use of the HTTP protocol or the secure Hypertext Transfer Protocol, HTTPS.

Universal Asynchronous Receive and Transmit (UART)

Pronounced "u-art," the universal asynchronous receiver-transmitter is a commonly used hardware supporting serial communication between two devices, such as between a microcomputer and a microcontroller. As an asynchronous device, UART data can be sent at different periods of time as needed. This contrasts with synchronous data communications technologies such as the dynamic random access memory (RAM) found in dual in-line memory modules (DIMM) of a computer, in which data is exchanged at precise intervals. "Universal" indicates the configurability of UART, allowing for unique code to be written supporting different data types and sizes to meet specific data communication needs. An independent driver circuit manages transmission levels (e.g., 115,200 kilobits per second speed) and methods (e.g., USB to TTL) used within a specific communication cable.

USB

Universal Serial Bus (USB) is a formal industry standard with specifications for cables and connectors, and also protocols for connections, communication, and power supply between electronic devices such as computers and peripherals. USB 1.x, 2.0, 3.x, and the upcoming 4 are generations of the standard and associated specifications. The USB port connector on a device is called the receptacle, while the connector on the cable is called the plug. There is a range of different USB connectors approved within USB committee specifications, including:

Standard format USB Type-A (common on computers, and used on the Raspberry Pi) and Type-B connectors (seen in a range of removable devices, such as external hard drives and printers). Type-A receptacles on devices are color-coded white, indicating USB version 1 or 2 compliant low/full/high speed ports, or blue, indicating USB version 3.x SuperSpeed compliant ports.
Mini-A (common in cameras and some tablet computers) and Mini-B connectors.
Micro-A and Micro-B connectors, common in many mobile devices. For USB 3.x ports, a thin but wider Micro-B SuperSpeed plug is used.
USB-C is a formal connector specification, and does not necessarily implement USB 3.x standards.

User Datagram Protocol (UDP)

Used together with the Internet Protocol (IP), UDP is an alternative to TCP when speed is essential and error-correction is not. For example, live video streaming applications use the UDP protocol, acknowledging that video may occasionally freeze or appear jumpy for brief periods.

UTF-8

UTF-8, the 8-bit Unicode Transformation Format encoding system, is the dominant encoding for the World Wide Web. It is backward compatible with ASCII, but provides support for a wide range of languages beyond American Standard encoding of ASCII.

Variables

A convenient name to represent numbers that change from time to time. Look at the top of your smartphone, and you may see the battery percentage charge remaining. A program exists on the smartphone to read this variable and provide a visual representation of it. Variables are often used within code to evaluate changes in patterns to determine which series of code should be executed at a given moment.

Voltage (V or Volt)

Voltage is a quantitative expression of the electromotive force required for a charge to pass between two points in an electrical field. Common household voltages include 120- and 240-volt circuits. Common computer and other microelectronic voltages include 12-, 5-, and 3.3-volt circuits. Electrical components are designed for specific voltages and need power adapters if the supply of energy does not meet the component requirements.

Watts

A unit of power used to quantify the rate of energy transfer.

While Loop

A control flow statement that specifies the conditions under which a sequence of events should continue to be executed.

Wide Area Network (WAN)

Covers the size of a state, country, and could even be considered to include the entire Internet. A WAN is comprised of many interconnected MANs and LANs. The WAN that is used to internetwork these is typically owned and managed by one or more Internet service providers (ISPs: the business that provides connections to each LAN), network service providers (NSPs: the business(es) that provide connections between ISPs), and backbone providers (the business(es) that provide the more extended connections between NSPs).

Window System

This is the part of the graphical user interface that communicates with the kernel. Many operating systems allow remote interfacing with the window system, either directly or through third-party applications.

License

Icon for the Creative Commons Attribution-ShareAlike 4.0 International License

A Person-Centered Guide to Demystifying Technology, 2nd Edition Copyright © 2023 by Martin Wolske Copyright © 2023. Copyright “Ideating and Iterating Code: Scratch Example” © 2020 Betty Bayer and Stephanie Shallcross. Copyright “Introducing the Unix Command Line” © 2020 Martin Wolske, Dinesh Rathi, Henry Grob, and Vandana Singh. Copyright “Security and Privacy” © 2020 Sara Rasmussen. Copyright “Storytelling in the Information Sciences” © 2023 Yingying Han and Martin Wolske. This book is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License, except where otherwise noted.

Share This Book