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. User interfaces can include a variety of forms such as buttons, menus, images, text, and graphics.

User Interface

100

Something that 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 finite set of instructions that accomplish a task

Algorithm

100

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

Parameter

100

Information about an individual that identifies, links, relates, or describes them

Personally Idenfitiable Information (PII)

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

This type of operator allows a program to change the value represented by a variable

Assignment Operator

200

An individual value in a list that is assigned a unique index

Element

200

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

Efficiency

200

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

Open Source

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 type of variable that is permanent; Can be used anywhere in your code

Global Variable

300

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

Index

300

A type of 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

300

The value passed to the parameter

Argument

300

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

300

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

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

A command or instruction. Sometimes also referred to as a code statement

Program Statement

400

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

Local Variable

400

In this type of loop, 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

400

A type of 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

400

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

Library

400

College huge amounts of data so we can learn even more from it

Big Data

400

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

Malware

500

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

Lossless Compression

500

A process that allows a system to continue to function even in the event of individual component failures. This is important because elements of complex systems like a computer network fail at unexpected times, often in groups 

Faut Tolerant

500

A type of programming where statements run in order, from top to bottom.

Sequential Programming

500

A data type that is either true or false

Boolean Value

500

In this type of loop, a condition is checked, then the program runs until that condition is met

For Loop

500

Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.) are said to run in this type of time

Reasonable Time

500

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

Application Program Interface (API)

500

This type of innovatino includes a program as an integral part of its function

Computing Innovation

500

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

Rogue Access Point

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

A type of programming where statements run when triggered by something like a mouse click or a key press. 

Event Drive Programming

600

This type of error occurs when your code doesn't follow the rules of the programming language 

Syntax Error

600

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

Iteration

600

Algorithms with exponential or factorial efficiencies are examples of algorithms that run in this type of time

Unreasonable Time

600

The subdivision of a computer program into seperate subprograms

Modularity

600

This type of data has values that change continuously, or smoothly, over time

Analog Data

600

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

Encryption

700

A group of computer devices and programs working together for a common purpose

Computing System

700

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

Transmission Control Protocol (TCP)

700

A written description of how a command or piece of code works or was developed

Documentation 

700

This type of error occurs when your code follows the rules of the programming language, but doesn't do what you intended 

Logic Error

700

This type of loop occurs when the ending condition will never evaluate to true. 

In other words, the Boolean expression will never evaluate to false.

Infinite Loop

700

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

Heuristic

700

This type of abstraction involves extracting shared features to generalize functionality 

Procedural Abstraction

700

This type of data changes discreetly through a finite set of possible values

Digital Data

700

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

Decryption

800

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

Computing Network

800

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

User Datagram Protocol (UDP)

800

A form of program documentation written into the program to be read by people and white do not affect how a program runs  

 Comment

800

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

Function

800

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

Taversal

800

This type of problem is when no algorithm can be constructed that is always capable of providing a correct yes-or-no answer

Undecidable Problem

800

The process of finding and fixing problems in code

Debugging

800

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

Sampling

800

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

Cipher

900

A machine that can run a program, including computers, tablets, servers, routers, and smart sensors

Computing Device

900

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

The Domain Name System (DNS)

900

A combination of operators and values that evaluates to a single value

Expression

900

<, >, <=, >=, ==, !=
Indicates a Boolean expression

Comparison Operators

900

A command that executes the code within a function

Function Call

900

With this type of computing, programs run in order, one command at a time.

Sequential Computing

900

When the flow of control is brought back to the point where the procedure was called 

Return

900

Information passed through the internet in packets

Datastream

900

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

1000

The series of connections between computing devices on a network starting with a sender and ending with a receiver

Path

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)

1000

The concept that revolves around differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics

Digital Divide

1000

&&, ||, != (AND, OR, NOT). 

Both sides this are reduced to a single Boolean value

Logical Operators

1000

With this type of computing, programs are run by multiple devices 

Distributed Computing

1000

With this type of computing, programs are broken into small pieces, some of which are run simultaneously

Parrallel Computing

1000

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

Parameter

1000

Data about data

Metadata

1000

Protects a computing system against infection

Computer Virus Scanning Software

M
e
n
u