Computing Innovation - 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).
Personally Identifiable Information (PPI) - information about an individual that identifies, links, relates, or describes them
decryption - a process that reverses encryption, taking a secret message and reproducing the original plain text
encryption - a process of encoding messages to keep them secret, so only "authorized" parties can read it
public key encryption- 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
symmetric key encryption - involves one key for both encryption and decryption
Computer Virus Scanning Software - protects a computing system against infection
Multi-factor authentication - 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
keylogging - 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
malware- software intended to damage a computing system or to take partial control over its operation
phishing- 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
rogue access point- a wireless access point that gives unauthorized access to secure networks
Parameter: a variable in a function definition. Used as a placeholder for values that will be passed through the function.
Argument: the value passed to the parameter
Return: used to return the flow of control to the point where the procedure (also known as a function) was called and to return the value of expression.
Procedural abstraction: a process and allows a procedure to be used only knowing what it does, not how it does it. Procedural abstraction allows a solution to a large problem to be based on the solution of smaller subproblems. This is accomplished by creating procedures to solve each of the subproblems.
Library: a group of functions (procedures) that may be used in creating new programs
API: Application Program Interface - specifications for how functions in a library behave and can be used
Modularity: the subdivision of a computer program into separate subprograms
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 the 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 given 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.
Data abstraction: manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation.
information - the collection of facts and patterns extracted from data
metadata- data about data
Cleaning data - a process that makes the data uniform without changing its meaning (e.g., replacing all equivalent abbreviations, spellings, and capitalizations with the same word).
Data filtering- choosing a smaller subset of a data set to use for analysis, for example by eliminating / keeping only certain rows in a table
correlation- a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other.
Citizen science- 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.
crowdsourcing- the practice of obtaining input or information from a large number of people via the Internet
Data bias- data that does not accurately reflect the full population or phenomenon being studied
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.
String: an ordered sequence of characters.
Boolean Value: a data type that is either true or false.
Comparison Operators: <, >, <=, >=, ==, != indicate a Boolean expression
Logical operator: NOT, AND, and OR, which evaluate to a Boolean value.
Conditional Statement: affects the sequential flow of control by executing different statements based on the value of a Boolean expression.
Function: a named group of programming instructions. Also referred to as a “procedure”.
Function Call: a command that executes the code within a function
User Interface: 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.
Input: 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.
Output: 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.
Program Statement: a command or instruction. Sometimes also referred to as a code statement.
Program: a collection of program statements. Programs run (or “execute”) one command at a time.
Sequential Programming: program statements run in order, from top to bottom.
Event Driven Programming: some program statements run when triggered by an event, like a mouse click or a key press
Documentation: a written description of how a command or piece of code works or was developed.
Comment: form of program documentation written into the program to be read by people and which do not affect how a program runs.
Pair Programming: a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress
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.
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 (IP): 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
Packet: A chunk of data sent over a network. Larger messages are divided into packets that may arrive at the destination in order, out-of-order, or not at all.
Redundancy: 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.
Fault Tolerant: 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.
HTTP: HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
Domain Name System (DNS): the system responsible for translating domain names like example.com into IP addresses
Internet: a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
World Wide Web: a system of linked pages, programs, and files.
Digital Divide: differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
Bandwidth - the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second
Computing Device- a machine that can run a program, including computers, tablets, servers, routers, and smart sensors
Computing Network- a group of interconnected computing devices capable of sending or receiving data.
Computing System - a group of computing devices and programs working together for a common purpose
Path - the series of connections between computing devices on a network starting with a sender and ending with a receiver