Bit
A contraction of “Binary Digit”
The single unit of information in a computer
Byte
8 bits
Overflow Error
Error from attempting to represent a number that is too large
Round-off Error
Error from attempting to represent a number that is too precise
Value is rounded
Analog Data
Data with values that change continuously, or smoothly, over time
Ex: music, colors of a painting, or position of a sprinter during a race
Digital Data
Data that changes discreetly through a finite set of possible values
Sampling
A process for creating a digital representation of analog data by measuring the analog data at regular intervals called samples
Lossless Compression
A process for reducing the number of bits needed to represent something without losing any information
Reversible
Lossy Compression
A process for reducing the number of bits needed to represent something in which some information is lost or thrown out
Not reversible
Binary
A way of representing information using only two options
Creative Commons
A collection of public copyright licenses that enable the free distribution of an otherwise copywriter work, used when an author wants to give people the right to share, use, and build upon a work that they have created
Data Compression
A process for reducing the number of bits needed to represent a piece of information
Decimal
A system for representing numbers using combinations of digits 0-9
Intellectual Property
A work or invention that is the result of creativity, such as a piece of writing or a design, to which one has rights and for which one may apply for a patent, copyright, trademark, etc.
Open Access
Online research output free of any and all restriction on access and free of many restrictions on use license restrictions
Open Source
Programs that are made freely available and may be redistributed and modified
Computing Device
A machine that can run a program, including computers, tablets, servers, routers, and smart sensors
Computing System
A group of computing devices and programs working together for a common purpose
Computing Network
A group of interconnected computing devices capable of sending or receiving data
Path
The series of connections between computing devices on a network starting with a sender and ending with a receiver
Bandwidth
The maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second
Protocol
An agreed-upon set of rules that specify the behavior of some system
IP Address
The unique number assigned to each device on the internet
Internet Protocol (IPP)
A protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
Router
A type of computer that forwards data across a network
Redundancy
The inclusion of extra components so that a system can continue to work even if individual components fail
Fault Tolerant
Can continue to function even in the event of individual component failures
Important because elements of complex systems like a computer network fail at unexpected times, often in groups
HTTP
HyperText Transfer Protocol
The protocol used for transmitting web pages over the Internet
Internet
A computer network consisting of interconnected networks the use standardized, open communication protocols
Packet
Chunk of data sent over a network
Larger messages are divided into packets that may arrive at a destination in order, out-of-order, or not at all
Packet Metadata
Data added to packets to help route them through the network and reassemble the original message
Routing
The process of finding a path from sender to receiver
UDP
A protocol used on the internet for fast transmission of information but with minimal error checking
World Wide Web
A system of linked pages, programs, and files
Router
A type of computer that forwards data across a network
Certificate Authority
Issue digital certificates that validate the ownership of encryption keys used in secure communications and are based on a trust model
Digital Divide
Differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
Debugging
Finding and fixing problems in an algorithm or program
Development Process
The steps or phases used to create a piece of software
Typical phases include investigating, designing, prototyping, and testing
Event
Associated with an action and supplies input data to a program
Can be generated when a key is pressed, a mouse is clicked, a program is started, or by any other defined action that affects the flow of execution
Incremental Development Process
A design approach that breaks the problem into smaller pieces and makes sure each piece works before adding it to a whole
Iterative Development Process
A design approach requires refinement and revision based on feedback, testing, or reflection throughout the process
Program Requirements
Descriptions of how a program functions and may include a description of user interactions that a program must provide
Program Specification
A description of all the requirements for the program
Design Specifications
Describing the requirements for how a program will work or users will interact with it
Strings
An arbitrary length sequence of ASCII characters
Expression
A combination of operators and values that evaluates to a single value
Assignment Operator
Allows a program to change the value represented by a variable
Variable
A named reference to a value that can be used repeatedly throughout a program
Boolean Value
A data type that is either true or false
Comparison Operators
Indicate a Boolean Expression
Function
A named group of programming instructions
Function Call
A command that executes the code within a function
Arithmetic Operator
Part of most programming languages and includes addition, subtraction, multiplication, division, and modulus operators
Boolean Expression
Evaluates to either true or false
Concatenation
Joins together two or more strings end-to-end to make a new string
Conditional Statement
Affect the sequential flow of control by executing different statements based on the value of a Boolean expression
Evaluate
Expressions are evaluated to produce a single value
Expression
A programming statement that can consist of a value, a variable, an operator, or a procedure call that returns a value
Logical Operator
NOT, AND, and OR, which evaluate to a Boolean value
Procedure
Used to test the relationship between two variables, expressions, or values
Selection
Determines which parts of an algorithm are executed based on a condition being true or false
List
An ordered collection of elements
Element
An individual value in a list that is assigned a unique index
Index
A common method for referencing elements in a list or string using numbers
Iteration
A repetitive portion of an algorithm which repeats a specified number of times or until a condition is met
Infinite Loop
Occurs when the ending condition will never evaluate to true
Traversal
The process of accessing each item in a list one at a time
Append
Add elements to the end of a list
Data Abstraction
Manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation
Loops
Change the sequential flow of control by repeating a set of statements zero or more times, until a stopping condition is met
Logic Error
A mistake in the algorithm or program that causes it to behave incorrectly or unexpectadly
Simulation
Abstractions of more complex objects or phenomena for a specific purpose
Substring
Part of an existing string
Linear Search
A search algorithm which checks each element of a list, in order, until the desired value is found or all elements in the list have been checked
Binary Search
A search algorithm that starts at the middle of a sorted set of numbers and removes half the data; this process repeats until the desired value is found or all elements have been eliminated
Sequential Computing
A model in which programs run in order, one command at a time
Parallel Computing
A model in which programs are broken down into small pieces, some of which are run simultaneously
Distributed Computing
A model in which programs are run by multiple devices
Parameter
A variable in a function definiton
Argument
The value passed through the parameter