Skip to content

Glossary

Quick reference meanings for the course. Note, these are not complete and accepted formal definitions.

Computer (historical) - At its most basic, "a thing that computes"; originally referred to humans who would sit at desks and do repeated numerical calculations for businesses and institutions.

Digital Computer - Modern devices that use discrete numbers to symbolically represent information and perform operations on that data using a finite set of general operations. Made of transistors that form logic gates.

Analog Computer - Devices that model predetermined calculations through the use of voltage, gears, pulleys, or other phenomenon that is related to the calculation in question.

Purpose Built - A characteristic of analog computers meaning they cannot be reprogrammed and must have their purpose defined beforehand.

Transistor - Small electrical components that can either block or allow passage of an electrical signal depending on whether itself is being fed an electrical signal. Used to make logic gates in modern computers.

Universal Turing Machine - A theoretical general-purpose computer proposed by Alan Turing in 1936, capable of computing anything that is computable by executing instructions stored in memory.

Turing-complete - A device that can simulate a Turing machine by being able to: read and write data to memory, perform conditional branching, loop or repeat operations, and have the possibility of infinite memory.

Bit - The smallest unit of information, having two states (on and off) that map directly to True and False, 1 and 0.

Logic Gates - Components built from transistors that use boolean algebra; they bridge the gap between natural electrical phenomenon and more complex computing systems.

Abstraction Hierarchy - Layered diagrams used by computer scientists to organize the many logical structures that build on top of one another in a computer system, from electronics/physics up to applications.

Von Neumann Architecture (Von Neumann Model) - The main architecture used for modern computers, organizing logic gates into components with concrete purposes to build a general computing platform. Falls at the "Micro Architecture" layer of the abstraction hierarchy.

Central Processing Unit (CPU) - The main computational workhorse that reads machine instructions and executes them. Made of two parts: the Control Unit and Arithmetic/Logic Unit.

Control Unit - Part of the CPU used to sequence operations to be performed by the machine, orchestrating the other components.

Arithmetic/Logic Unit - Part of the CPU used to perform the instructions from the control unit on the memory unit.

Memory Unit - A bank of memory that stores both instructions and data in the same address space.

Input Device - The source of information into the CPU, can be new instructions or data.

Output Device - Receives information from the CPU and routes it to other devices for control signals.

Instruction Set Architecture (ISA) - Defines what instructions exist for the CPU to execute; these instructions are what become machine code.

Machine Code - The individual instructions executed by the CPU, stored and read in raw binary.

Assembly Language - A system of writing CPU instructions using human-readable identifiers (characters that relate to the instruction's purpose) instead of raw binary, making direct communication with the CPU easier.

Assembler - A program that can convert assembly code into binary machine code that the CPU can understand and execute.