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