a finite set of instructions that accomplish a task
2
New cards
API Application Program Interface
specifications for how functions in a library behave and can be used
3
New cards
Argument
the value passed to the parameter
4
New cards
Assignment Operator
allows a program to change the value represented by a variable
5
New cards
Bandwidth
the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second
6
New cards
Binary Search
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
7
New cards
Boolean Value
a data type that is either true or false
8
New cards
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.
9
New cards
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).
10
New cards
Comment
form of program documentation written into the program to be read by people and which do not affect how a program runs
11
New cards
Comparison Operator
12
New cards
Computer Virus Scanning Software
protects a computing system against infection
13
New cards
Computing Device
a machine that can run a program, including computers, tablets, servers, routers, and smart sensors
14
New cards
Computing Innovation
includes a program as an integral part of its function. Can be physical (e.g. self
15
New cards
Computing Network
a group of interconnected computing devices capable of sending or receiving data.
16
New cards
Computing System
a group of computing devices and programs working together for a common purpose
17
New cards
Conditional Statement
affects the sequential flow of control by executing different statements based on the value of a Boolean expression
18
New cards
Correlation
a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other.
19
New cards
Crowdsourcing
the practice of obtaining input or information from a large number of people via the Internet
20
New cards
Data Abstraction
manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation
21
New cards
Data Bias
data that does not accurately reflect the full population or phenomenon being studied
22
New cards
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
23
New cards
Debugging
Finding and fixing problems in an algorithm or program
24
New cards
Decision Problem
a problem with a yes/no answer (e.g., is there a path from A to B?)
25
New cards
Decryption
a process that reverses encryption, taking a secret message and reproducing the original plain text
26
New cards
Development Process
the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing.
27
New cards
Digital Divide
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
28
New cards
Distributed Computing
a model in which programs are run by multiple devices
29
New cards
Documentation
a written description of how a command or piece of code works or was developed
30
New cards
Domain Name System (DNS)
the system responsible for translating domain names like example.com into IP addresses
31
New cards
Efficiency
a measure of how many steps are needed to complete an algorithm
32
New cards
Element
an individual value in a list that is assigned a unique index
33
New cards
Encryption
a process of encoding messages to keep them secret, so only "authorized" parties can read it
34
New cards
Event Driven Programming
some program statements run when triggered by an event, like a mouse click or a key press
35
New cards
Expression
a combination of operators and values that evaluates to a single value
36
New cards
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.
37
New cards
Function
a named group of programming instructions. Also referred to as a “procedure”.
38
New cards
Function Call
a command that executes the code within a function
39
New cards
Heuristic
provides a "good enough" solution to a problem when an actual solution is impractical or impossible
40
New cards
HyperText Transfer Protocol (HTTP)
the protocol used for transmitting web pages over the Internet
41
New cards
Index
a common method for referencing the elements in a list or string using numbers
42
New cards
Infinite Loop
occurs when the ending condition will never evaluate to true
43
New cards
Information
the collection of facts and patterns extracted from data
44
New cards
Information
the collection of facts and patterns extracted from data
45
New cards
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.
46
New cards
Internet Protocol (IP)
a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
47
New cards
IP Address
The unique number assigned to each device on the Internet
48
New cards
Iteration
a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met
49
New cards
Iteration
a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met
50
New cards
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
51
New cards
Library
a group of functions (procedures) that may be used in creating new programs
52
New cards
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
53
New cards
List
an ordered collection of elements
54
New cards
Logical Operator
NOT, AND, and OR, which evaluate to a Boolean value
55
New cards
Logical Operator
NOT, AND, and OR, which evaluate to a Boolean value
56
New cards
Malware
software intended to damage a computing system or to take partial control over its operation
57
New cards
Metadata
data about data
58
New cards
Modularity
the subdivision of a computer program into separate subprograms
59
New cards
Multi
factor Authentication
60
New cards
Optimization Problem
a problem with the goal of finding the "best" solution among many (e.g., what is the shortest path from A to B?)
61
New cards
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.
62
New cards
Packet
A chunk of data sent over a network. Larger messages are divided into packets that may arrive at the destination in order, out
63
New cards
Pair Programming
a collaborative programming style in which two programmers switch between the roles of writing code and tracking or planning high level progress
64
New cards
Parallel Computing
a model in which programs are broken into small pieces, some of which are run simultaneously
65
New cards
Parameter
a variable in a function definition. Used as a placeholder for values that will be passed through the function
66
New cards
Path
the series of connections between computing devices on a network starting with a sender and ending with a receiver
67
New cards
Personally Identifiable Information (PII)
information about an individual that identifies, links, relates, or describes them
68
New cards
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
69
New cards
Problem
a general description of a task that can (or cannot) be solved with an algorithm
70
New cards
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.
71
New cards
Program
a collection of program statements. Programs run (or “execute”) one command at a time.
72
New cards
Program Statement
a command or instruction. Sometimes also referred to as a code statement.
73
New cards
Protocol
An agreed
74
New cards
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
75
New cards
Reasonable Time
Algorithms with a polynomial efficiency or lower (constant, linear, square, cube, etc.) are said to run in a reasonable amount of time
76
New cards
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
77
New cards
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
78
New cards
Rouge Access Point
a wireless access point that gives unauthorized access to secure networks
79
New cards
Router A type of computer that forwards data across a network
80
New cards
Selection
deciding which steps to do next
81
New cards
Sequencing
putting steps in an order
82
New cards
Sequential Computing
a model in which programs run in order, one command at a time
83
New cards
Sequential Programming
program statements run in order, from top to bottom
84
New cards
Speedup
the time used to complete a task sequentially divided by the time to complete a task in parallel
85
New cards
String
an ordered sequence of characters
86
New cards
Symmetric Key Encryption involves one key for both encryption and decryption
87
New cards
Traversal
the process of accessing each item in a list one at a time
88
New cards
Undecidable Problem
a problem for which no algorithm can be constructed that is always capable of providing a correct yes
89
New cards
Unreasonable Time
Algorithms with exponential or factorial efficiencies are examples of algorithms that run in an unreasonable amount of time
90
New cards
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.
91
New cards
Variable
a named reference to a value that can be used repeatedly throughout a program