Glossary

abstraction - a technique for managing complexities in a given system; in computer science/engineering it is used as a method of suppressing the more complex details below the current level the user is working on; the operating system on a Raspberry Pi (Raspbian/Linux) abstracts the command line interface from the user

application programming interface (API) - a set of rules that govern how one application can talk to other application via a computer programming language.

cd - change directory Linux terminal command

command-line - another name for the terminal; an interface in which you can type and execute text based commands

computational thinking - a problem solving approach that includes a number of characteristics that can be used to support problem solving across all subject areas including math, language arts, social studies, and science.

conditional - another name for an if statement

data validation - the process of ensuring that a program operates on clean, correct and useful data

debugging - finding and removing errors/mistakes in a computer program

Do-It-Together (DIT) - as opposed to Do-It-Yourself (DIY), this idea encourages people to work together to solve problems

function - a named section of a computer program that performs a specific task

General-Purpose Input/Output (GPIO) - a generic pin on an integrated circuit whose behavior—including whether it is an input or output pin—is controllable by the user at run time

graphical user interface (GUI) - a type of interface that allows users to interact with the Raspberry Pi through graphical icons and visual indicators, as opposed to text-based interfaces, like the command line

headless mode - a type of computer setup where you do not need a mouse, monitor, or keyboard attached to the system

high-level language - a computer programming language that isn’t limited by the computer, designed for a specific job, and is easier to understand. It is more like human language and less like machine language. However, for a computer to understand and run a program created with a high-level language, it must be compiled into machine language.

if/else statement - check to see if a conditional is “True” or “False”

ifconfig - terminal command to find your IP address

import - Python statement to load a library

infinite loop - a loop that never stops

integrated development environment (IDE) - a software suite that consolidates the basic tools developers need to write and test software

interactive interpreter/shell - allows the user to type and run Python code interactively

Internet of Things (IoT) - refers to the ever-growing network of physical objects that feature an IP address for internet connectivity, and the communication that occurs between these objects and other Internet-enabled devices and systems

len - a function in Python to determine the length of a string variable

Linux - an open-source operating system used by computer enthusiasts, equivalent to Microsoft Windows 7 or 8 or 10, Apple Mac OS X, Apple iOS, or Google Android

list - a type of variable that can hold multiple values

loop - repeat something over and over

low-level language - a programming language that provides little or no abstraction from a computer’s instruction set architecture; also called machine code or assembly code

module - a file containing Python definitions and statements

Python - a programming language on the Raspberry Pi

Python shell - another name for the interactive interpreter; allows user to type in code and interact with in

randint - Python function get a random integer number

Raspbian - the version of Linux designed specifically for the Raspberry Pi computer

Scratch - a graphical programming language designed for new programmers/coders

sudo - Linux terminal command allows users to run programs with the security privileges of another user, by default the superuser. The name is a contraction of “do as su” where “su” is an abbreviation for “super user.”

syntax - the set of rules that define the combinations of symbols that are considered to be correctly structured programs in that language

terminal - an interface in which you can type and execute text based commands

variable - a place in the computer’s memory to store data