1/93
Name | Mastery | Learn | Test | Matching | Spaced | Call with Kai | Chat |
|---|
No analytics yet
Send a link to your students to track their progress
strong password
a password that is easy for a user to remember but would be difficult for someone else to guess based on knowledge of that user
algorithm
a finite set of instructions that accomplish a specific task. Every algorithm can be constructed using combinations of sequencing, selection, and iteration.
abstraction
the process of reducing complexity by focusing on the main idea. By hiding details irrelevant to the question at hand and bringing together related and useful details, abstraction reduces complexity and allows one to focus on the idea.
sequencing algorithm
the application of each step of an algorithm in the order in which the code statements are given
selection algorithm
determines which parts of an algorithm are executed based on a condition being true or false
iteration algorithm
a repeating portion of an algorithm. Iteration repeats a specified number of times or until a given condition is met.
encryption
the process of encoding data to prevent unauthorized access
decryption
the process of the process of decoding the data
programming language
used to implement algorithms executed by programs
problem
a general description of a task that can (or cannot) be solved algorithmically
instance of a problem
a specific task that needs to be solved with specific input
decision problem
a problem with a yes/no answer
optimization problem
a problem with the goal of finding the "best" solution among many
decidable problem
a decision problem for which an algorithm can be written to produce a correct output for all inputs
undecidable problem
one in which no algorithm can be constructed that always leads to a correct yes-or-no answer
scalability
the capacity for a system to change in size and scale to meet new demands
efficiency
an estimation of the amount of computational resources used by an algorithm. Efficiency is typically expressed as a function of the size of the input.
linear or sequential search
search algorithms that check each element of a list, in order, until the desired value is found or all elements in the list have been checked
binary search
a search algorithm that starts at the middle of a sorted data set of numbers and eliminates half of the data; this process repeats until the desired value is found or all elements have been eliminated
heuristic
an approach to a problem that produces a solution that is not guaranteed to be optimal but may be used when techniques that are guaranteed to always find an optimal solution are impractical
algorithmic bias
bias embedded into algorithms and any level of software development
pair programming
a common model of programming that facilitates collaboration
program
a collection of program statements that performs a specific task when run by a computer. A program is often referred to as software
code segment
a collection of program statements that are part of a program
behavior of a program
how a program functions during execution and is often described by how a user interacts with it
event
associated with an action and supplies input data to a program
program documentation
a written description of the function of a code segment, event, procedure, or program and how it was developed
comments
a form of program documentation written into the program to be read by people and do not affect how a program runs
iterative development process
a development process that requires refinement and revision based on feedback, testing, or reflection throughout the process
incremental development process
a development process that breaks the problem into smaller pieces and makes sure each piece works before adding it to the whole
program inputs
data sent to a computer for processing by a program. Input can come in a variety of forms, such as tactile, audio, visual, or text.
program outputs
any data sent from a program to a device. Program output can come in a variety of forms, such as tactile, audio, visual, or text.
variable
an abstraction inside a program that can hold a value. Each variable has associated data storage that represents one value at a time, but that value can be a list or other collection that in turn contains multiple values.
conditional statements, or "if-statements"
code statements that affect the sequential flow of control by executing different statements based on the value of a Boolean expression
Boolean value
either true or false
nested conditional statements
consist of conditional statements within conditional statements
iteration statements
code statements that change the sequential flow of control by repeating a set of statements zero or more times, until a stopping condition is met
procedure
a named group of programming instructions that may have parameters and return values
parameters
input variables of a procedure
arguments
specify the values of the parameters when a procedure is called
analog data
values that change smoothly, rather than in discrete intervals, over time
sampling technique
a technique used to measure the values of the analog signal at regular intervals called samples
data compression
a method designed to reduce the size (number of bits) of transmitted or stored data
lossless data compression
compression that has occurred that can reduce the number of bits stored or transmitted while guaranteeing complete reconstruction of the original data
lossy data compression
compression that has occurred that can significantly reduce the number of bits stored or transmitted but only allow reconstruction of an approximation of the original data
Creative Commons
a public copyright license that enables the free distribution of an otherwise copyrighted work
open source
programs that are made freely available and may be redistributed and modified
open access
online research output free of any and all restrictions on access and free of many restrictions on use, such as copyright or license restrictions
bit
shorthand for binary digit, either a 0 or 1
byte
8 bits
number bases
used to represent data, includes binary and decimal
binary (base 2)
uses only combinations of the digits zero and one
decimal (base 10)
uses only combinations of the digits 0-9
modulus operator
arithmetic operator used to return the remainder of a division operation
overflow error
an error caused by the limitation of the range of values and mathematical operations on those values by representing integers with a fixed number of bits
round-off error
an error caused by the limitation of using a fixed number of bits to represent real numbers which limits the range and mathematical operations on those values
list
an ordered sequence of elements. The use of lists allows multiple related items to be represented using a single variable.
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 natural numbers
complete list traversal
all elements in the list are accessed
partial list traversal
only a portion of elements in the list are accessed
simulation
a representation that uses varying sets of values to reflect the changing state of a phenomenon
crowdsourcing
the practice of obtaining input or information from a large number of people via the Internet
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
cleaning data
a process that makes the data uniform without changing its meaning
Information
the collection of facts and patterns extracted from data
redundancy
the inclusion of extra components that can be used to mitigate failure of a system if other components fail
computing innovation
an innovation that includes a program as an integral part of its function
personally identifiable information (PII)
information about an individual that identifies, links, relates, or describes them
metadata
data about data
digital divide
the differing access to computing devices and the Internet, based on socioeconomic, geographic, or demographic characteristics
computing device
a physical artifact that can run a program
computing system
a group of computing devices and programs working together for a common purpose
computer network
a group of interconnected computing devices capable of sending or receiving data
fault-tolerant
the term used when a system can support failures and still continue to function
protocol
an agreed-upon set of rules that specify the behavior of a system
bandwidth
the maximum amount of data that can be sent in a fixed amount of time
routing
the process of finding a path from sender to receiver
path
is a sequence of directly connected computing devices that begins at the sender and ends at the receiver
data streams
streams that contain chunks of data, which are encapsulated in packets
packets
contain a chunk of data and metadata used for routing the packet between the origin and the destination on the Internet, as well as for data reassembly
World Wide Web
a system of linked pages, programs, and files
HTTP
a protocol used by the World Wide Web
sequential computing
a computational model in which operations are performed in order one at a time
distributed computing
a computational model in which multiple devices are used to run a program
parallel computing
a computational model where the program is broken into multiple smaller sequential computing operations, some of which are performed simultaneously
speedup of a parallel solution
the time it took to complete the task sequentially divided by the time it took to complete the task when done in parallel
public key encryption
encryption that pairs a public key for encryption and a private key for decryption
multifactor authentication
a method of computer access control in which a user is only granted access after successfully presenting several separate pieces of evidence to an authentication mechanism, typically in at least two of the following categories: knowledge (something they know); possession (something they have), and inherence (something they are)
malware
software intended to damage a computing system or take partial control over its operation
computer virus
a malicious program that can copy itself and gain access to a computer in an unauthorized way
phishing
a technique that attempts to trick a user into providing personal information
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
rogue access point
a wireless access point that gives unauthorized access to secure networks