Digital Information
The Internet
Intro to App Design
Variables, Conditionals, and Functions
Lists, Loops, and Traversals
Algorithms
Paramteres, Return, and Libraries
Data
Cybersecurity
100

A base 10 number with ten possible different digits

Decimal Number

100

The unique number assigned to each device on the internet 

IP Address

100

The inputs and outputs that allow a user to interact with a piece of software. This part of an application can include a variety of forms such as buttons, menus, images, text, and graphics.

User Interface

100

Holds one value at a time; A reference to a value or expression that can be used repeatedly throughout a program

Variable

100

An ordered collection of elements

List

100

A measure of how many steps are needed to complete an alogrithm

Efficiency

100
The process of finding and fixing problems in code

Debugging

100

Sharing data with others so they can analyze it
Publicly avaliable data shared by governments, organizers, and others

Open Source

100

The use of a program to record every keystroke made by a computer user in order to gain fraudulent access to passwords and other confidential information

Keylogging

200

A base 2 number with two possible different digits

Binary Number

200

A protocol for sending data across the internet that assigns unique numbers to each connected device

Internet Protocol (IP)

200

Data that are sent to a computer for processing by a program. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.

Input

200

Allows a program to change the value represented by a variable

Assignment Operator

200

A common method for referencing the elements in a list or string using numbers

Index

200

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.

Linear Search

200

A variable in a function definition. Used as a placeholder for values that will be passed through the function

Parameter

200

Collecting data from others so you can analyze it
The practice of obtaining input or information from a large number of people via the internet

Citizen Science and Crowdsourcing

200

A technique that attempts to trick a user into providing personal information. That personal information can then be used to access sensitive online resources, such as bank accounts and emails.

Phising

300
Error from attempting to represent a number that is too large

Overflow Error

300

A type of computer that forwards data across a network

Router
300

Any data that are sent from a program to a device. Can come in a variety of forms, such as tactile interaction, audio, visuals, or text.

Output

300

A permanent variable; Can be used anywhere in your code

Global Variable

300

A condition is checked, then a block of code is repeated as long as the Boolen condition remains true. Once the condition is false, the program stops

While Loop

300

A search algorithm that starts at the middle of a sorted set of numbers and removes half of the data; this process repeats until the desired value is found or all elements have been eliminated.

Binary Search

300

The value passed to the parameter

Argument

300

Data about data

Metadata

300

Software intended to damage a computing system or to take partial control over its operation

Malware

400

Error from attempting to represent a number that is too precise. The value is rounded. 

Round-off Error

400

The inclusion of extra components so that a system can continue to work even if individual components fail, for example by having more than one path between any two connected devices in a network

Redundancy

400

Program statements run in order, from top to bottom.

Sequential Programming

400

A temporary variable; Can be used only in the part of the code where it was created.

Local Variable

400

A condition is checked, then the program runs until that condition is met

For Loop

400

The level of efficiency that describes algorithms which run in reasonable time

Polynomial efficiency (or lower)

400

A group of functions that may be used in creating new programs

Library

400

Data that changes discreetly through a finite set of possible values

Digital Data

400

A wireless access point that gives unauthorized access to secure networks.

Rogue Access Point

500
A process for reducing the number of bits needed to represent something without losing any information. The process is reversible.
Lossless Compression
500

Can continue to function even in the event of individual component failures. This is important because elemets of complex systems like a computer network fail at unexpected times, often in groups 

Fault Tolerant

500

When program statements run after being triggered by an event, like a mouse click or a key press

Event Driven Programming (onEvent)

500

A data type that is either true or false

Boolean Value

500

A repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.

Iteration

500

The description of efficiency of algorithms that run in unreasonable time.

Exponential or factorial efficiencies

500

This command makes a value from the end of a function available to the rest of the program code.

Return

500

Data with values that change continuously, or smoothly, over time

Analog Data

500

A process of encoding messages to keep them secret, so only "aythorized" parties can read it

Encryption

600
A process for reducing the number of bits needed to represent something in which some informaiton is lost or thrown away. This process is not reversible. 

Lossy Compression

600

Data added to packets to help route them through the network and reassemble the original message

Packet Metadata

600

Form of program documentation written into the program to be read by people; does not affect how a program runs  

 Comment

600

Your code doesn't follow the rules of the programming language 

Syntax Error

600

Occurs when the ending condition never changes; it always stays "TRUE" or "FALSE" and causes the program to run ineffectively.

Infinite Loop

600

Provides a "good enough" solution to a problem when an actual solution is impractical or impossible

Heuristic

600

Specifications for how functions in a library behave and can be used

Application Program Interface (API)

600

A process for creating a sigital representation of analog data by measuring the analog data at regular intervals 

Sampling

600

A process that reverses encryption, taking a secret message and reproducing the original plain text.

Decryption

700

A group of interconnected computing devices capable of sending or receiving data

Computing Network

700

A protocol for sending packets that does error-checking to ensure all packets are received and properly ordered

Transmission Control Protocol (TCP)

700

Differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics

Digital Divide

700

A named group of programming instructions. Also referred to as a 'procedure'

Function

700

The process of accessing each item in a list one at a time 

Traversal

700

A problem for which no algorithm can be constructed that is always capable of providing a correct yes-or-no answer

Undecidable Problem

700

The subdivision of a computer program into seperate subprograms

Modularity

700

The generic term for a technique (or algorithm) that performs encryption

Cipher
800

A protocol for sending packets quickly with minimal error-checking and no reseding of dropped packets 

User Datagram Protocol (UDP)

800

<, >, <=, >=, ==, !=
This type of operator indicates a Boolean expression

Comparison Operators

800

A command that executes the code within a function

Function Call

800

Programs run in order, one command at a time.

Sequential Computing
800
Extracting shared features to generalize functionality 

Procedural Abstractiong

800

A method of computer access in which a user had to successfully provide evidence in at least two of the following categories: knowledge, possession, and inherence. 

Multifactor Authentication

900

The system responsible for translating domain names like example.com into IP addresses

The Domain Name System (DNS)

900

The type of operators represented by the symbols &&, ||, != (AND, OR, NOT)

Logical Operators

900

Programs are run by multiple devices 

Distributed Computing

900

Programs are broken into small pieces, some of which are run simultaneously

Parrallel Computing

900
Protects a computing system against infection

Computer Virus Scanning Software

1000

A protocol for computers to request and share the pages that make up the world wide web on the Internet

Hypertext Transfer Protocol (HTTP)

M
e
n
u