the process of removing unnecessary details to focus on essential ones.
2
New cards
Algorithm
a finite set of instructions that accomplish a task.
3
New cards
Analog Data
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.
4
New cards
API
Application Program Interface - specifications for how functions in a library behave and can be used
5
New cards
Argument
the value passed to the parameter
6
New cards
Arithmetic operators
These are the symbols used in computer programs for mathematical operations. (+,-,*,/, %)
7
New cards
Assignment statement
stores a value in a variable. The right side is evaluated, and the result is stored in the variable on the left side of the assignment operator, which is the ←
8
New cards
Authentication
involves verifying users requesting access to a system before providing admittance.
9
New cards
Bandwidth
the maximum amount of data that can be sent in a fixed amount of time, usually measured in bits per second.
10
New cards
Bias
discrimination for or against certain groups or individuals. The bias can come from the data used or the way the code was written.
11
New cards
Binary
A way of representing information using only two options, 0 and 1
12
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.
13
New cards
Bit
binary digit, which can only be 0 or 1.
14
New cards
Boolean Value
a data type that is either true or false.
15
New cards
Byte
8 bits
16
New cards
Certificate Authority (CA)
A Certificate Authority issues digital certificates that verify that the data encryption code belongs to the organization. This enables the transfer of confidential data such as passwords or credit card information on the associated website.
17
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.
18
New cards
Clarity
The clarity of a program means how easy it is to understand the code.
19
New cards
Classifying data
involves organizing and identifying categories that fit the data to make it easier to search for patterns and trends leading to insights.
20
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).
21
New cards
Code segment
can be a single line or a collection of lines of code that are part of a program.
22
New cards
Code statement
sections of a program with an action to be executed.
23
New cards
Collaboration
people working together to produce a quality product.
24
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.
25
New cards
Comparison Operators
26
New cards
Computer virus
spread by attaching itself to a valid file. It can then replicate and spread, either collecting or destroying data and programs.
27
New cards
Computing Device
a machine that can run a program, including computers, tablets, servers, routers, and smart sensors
28
New cards
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).
29
New cards
Computing Network
a group of interconnected computing devices capable of sending or receiving data.
30
New cards
Computing System
a group of computing devices and programs working together for a common purpose
31
New cards
Computing system
when multiple computing devices and programs work together for a specific purpose, such as managing the power grid.
32
New cards
Concatenation
strings are joined or "glued" together to form a new string.
33
New cards
Condition
use the relational operators (
34
New cards
Conditional Statement
affect the sequential flow of control by executing different statements based on the value of a Boolean expression.
35
New cards
Correlation
a relationship between two pieces of data, typically referring to the amount that one varies in relation to the other.
36
New cards
Creative Commons
A collection of public copyright licenses that enable the free distribution of an otherwise copyrighted work, used when an author wants to give people the right to share, use, and build upon a work that they have created
37
New cards
Crowdfunding
resources like the Internet to ask people across the globe to donate money to help fund their project or need.
38
New cards
Crowdsourcing
the practice of obtaining input or information from a large number of people via the Internet.
39
New cards
Cybersecurity
protects our computing devices and networks from attacks and unauthorized access.
40
New cards
Data abstraction
manage complexity in programs by giving a collection of data a name without referencing the specific details of the representation.
41
New cards
Data bias
data that does not accurately reflect the full population or phenomenon being studied
42
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
43
New cards
Data mining
analyzes large datasets to search for patterns that can lead to new insights for the organization.
44
New cards
Data stream
segments of data packaged in packets sent through a network such as the Internet.
45
New cards
Debugging
Finding and fixing problems in an algorithm or program.
46
New cards
Decidable problem
an algorithm can be created that provides a yes or no answer for all instances of the problem.
47
New cards
Decision Problem
a problem with a yes/no answer (e.g., is there a path from A to B?)
48
New cards
Decryption
a process that reverses encryption, taking a secret message and reproducing the original plain text.
49
New cards
Development process
the steps or phases used to create a piece of software. Typical phases include investigating, designing, prototyping, and testing
50
New cards
Digital Data
data that changes discretely through a finite set of possible values
51
New cards
Digital Divide
differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
52
New cards
Distributed Computing
a model in which programs are run by multiple devices
53
New cards
Documentation
a written description of how a command or piece of code works or was developed.
54
New cards
Efficiency
a measure of how many steps are needed to complete an algorithm
55
New cards
Element
an individual value in a list that is assigned a unique index
56
New cards
Encryption
a process of encoding messages to keep them secret, so only "authorized" parties can read it.
57
New cards
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.
58
New cards
Event Driven Programming
some program statements run when triggered by an event, like a mouse click or a key press
59
New cards
Expression
a combination of operators and values that evaluates to a single value
60
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.
61
New cards
Filtering data
selecting a subset of data, sometimes based on its classifications, to use for further analysis.
62
New cards
Function
a named group of programming instructions. Also referred to as a "procedure".
63
New cards
Function Call
a command that executes the code within a function
64
New cards
Heuristic
provides a "good enough" solution to a problem when an actual solution is impractical or impossible
65
New cards
HTTP
HyperText Transfer Protocol - the protocol used for transmitting web pages over the Internet
66
New cards
Hypertext Transfer Protocol Secure (HTTPS)
provides the secure processing of a web page. Always check for HTTPS before making a purchase online to ensure your credit card number is encrypted.
67
New cards
Incremental development process
subdivides a program into small modules. Each section is coded, tested, and approved and then added to the larger application and tested with other completed parts of it.
68
New cards
Index
a common method for referencing the elements in a list or string using numbers
69
New cards
Infinite loop
occurs when the ending condition will never evaluate to true.
70
New cards
Information
the collection of facts and patterns extracted from data
71
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.
72
New cards
Intellectual Property
A work or invention that is the result of creativity, such as a piece of writing or a design, to which one has rights and for which one may apply for a patent, copyright, trademark, etc.
73
New cards
Internet
a computer network consisting of interconnected networks that use standardized, open (nonproprietary) communication protocols.
74
New cards
Internet Protocol (IP)
a protocol for sending data across the Internet that assigns unique numbers (IP addresses) to each connected device
75
New cards
IP Address
The unique number assigned to each device on the Internet.
76
New cards
Iteration
a repetitive portion of an algorithm which repeats a specified number of times or until a given condition is met.
77
New cards
Iterative
repeat code a specified number of times or until a condition is true (for this course) using a loop structure.
78
New cards
Iterative development process
repeats the steps of coding, testing, and feedback to refine a section of code until it is complete.
79
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
80
New cards
Library
a group of functions (procedures) that may be used in creating new programs
81
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.
82
New cards
List
an ordered collection of elements
83
New cards
Logic error
A logic error occurs when the code runs but produces incorrect results.
84
New cards
Logical operator
NOT, AND, and OR, which evaluate to a Boolean value.
85
New cards
Lossless Compression
A process for reducing the number of bits needed to represent something without losing any information. This process is reversible.
86
New cards
Lossy Compression
A process for reducing the number of bits needed to represent something in which some information is lost or thrown away. This process is not reversible.
87
New cards
Malware
software intended to damage a computing system or to take partial control over its operation
88
New cards
Metadata
data about data, such as the author of a document. It is used to help organize and find data.
89
New cards
Modularity
style of programming that breaks the requirements into smaller pieces until each module does a specific task or set of tasks.
90
New cards
Modulus
This operation provides only the remainder after dividing (%)
91
New cards
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
92
New cards
Open access
data that is freely available online with limited, if any, copyright restrictions.
93
New cards
Open source
\software is available for anyone to use or modify without restrictions.
94
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?)
95
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.
96
New cards
Overflow Error
Error from attempting to represent a number that is too large.
97
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-of-order, or not at all.
98
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
99
New cards
Parallel Computing
a model in which programs are broken into small pieces, some of which are run simultaneously
100
New cards
Parallel computing system
use multiple computers to process a section of a program at the same time. The results are then combined for the complete solution. The devices in a parallel computing system share memory.