Bid Idea 1: Creative Development
Bid Idea 2: Data
Big Idea 3: Algorithms & Programming
Big Idea 4: Computer Systems and Networks
Big Idea 5: Impact of Computing
100

includes a program as an integral part of its function. Can be physical (e.g. self-driving car), non-physical computing software (e.g. picture editing software), or non-physical computing concepts (e.g., e-commerce).

Computing Innovation

100

A contraction of "Binary Digit";  the single unit of information in a computer, typically represented as a 0 or 1

Bit
100

A model in which programs are run by multiple devices

Distributed Computing

100
What does DNS stand for?

Domain Name System

100

scientific research conducted in whole or part by distributed individuals, many of whom may not be scientists, who contribute relevant data to research using their own computing devices.

Citizen Science

200

a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress

Pair Programming

200

8 bits

Byte

200

The time used to complete a task sequentially divided by the time to complete a task in parallel

Speedup

200

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

Computing Device

200

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

Personally Identifiable Information (PII)

300

some program statements run when triggered by an event, like a mouse click or a key press

Event Driven Programming

300

an ordered collection of elements

List

300

The protocol used for transmitting web pages over the Internet.

Internet: a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols. 

HTTP

HyperText Transfer Protocol

300

a group of computing devices and programs working together for a common purpose

Computing System

300

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

Phishing

400

program statements run in order, from top to bottom.

Sequential Programming

400

manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation.

Data Abstraction

400

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

Undecidable Problem

400

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

Computing Network

400

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

500

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

Documentation

500

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

Overflow Error

500

A problem with the goal of finding the "best" solution among many (e.g., what is the shortest path from A to B?)

Optimization Problem

500

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

path

500

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

Malware

600

Finding and fixing problems in an algorithm or program.

Debugging

600

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

Round-off Error

600

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

Heuristic

600

the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second

Bandwidth

600

a wireless access point that gives unauthorized access to secure networks

Rogue Access Point

700

the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing

Development process

700

Data with values that change continuously, or smoothly, over time. Some examples of analog data include music, colors of a painting, or position of a sprinter during a race.

Analog Data

700

Algorithms with exponential or factorial efficiencies are examples of algorithms that run in an unreasonable amount of time.

Unreasonable Time

700

An agreed-upon set of rules that specify the behavior of some system

Protocol

700

involves one key for both encryption and decryption

Symmetric Key Encryption

800

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

Event

800

Data that changes discretely through a finite set of possible values

Digital Data

800

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

Reasonable Time

800

The unique number assigned to each device on the Internet

IP Address

800

pairs a public key for encryption and a private key for decryption. The sender does not need the receiver’s private key to encrypt a message, but the receiver’s private key is required to decrypt the message

Public Key Encryption

900

is a mistake in the algorithm or program that causes it to behave incorrectly or unexpectedly

logic error

900

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

Sampling

900

A model in which programs are broken into small pieces, some of which are run simultaneously

Parallel Computing

900

a system that requires at least two steps to unlock protected information; each step adds a new layer of security that must be broken to gain unauthorized access

Multi-factor Authentication

1000

is a mistake in the program where the rules of the programming language are not followed.

syntax error

1000

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

Lossless Compression

1000

Can 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

Fault Tolerant

1100

is a mistake in the program that occurs during the execution of a program. Programming?languages?define?their?own?runtime errors

run-time error

1200

is an error that occurs when a computer attempts to handle a number that is outside?of?the?defined?range?of?values.

overflow error

M
e
n
u