1/48
Name | Mastery | Learn | Test | Matching | Spaced |
---|
No study sessions yet.
syntax error
a mistake in typed code that violates the rules of the programming language. Typically, code with syntax error will not run.
logic error
a mistake in an algorithm or program that causes it to behave unexpectedly or return the incorrect value.
run-time error
a mistake in a program that happens only when the program is actually run, such as a program attempting to access memory that does not exist.
overflow error
error that results when the number of bits is not enough to represent the number (like a car’s odometer “rolling over”)
bit
a binary digit, either 0 or 1
byte
a sequence of 8 bits
roundoff
error that results when the number of bits is not enough to represent the number with full precision
analog data
values that change smoothly, rather than in discrete intervals, over time. For example, the pitch and volume of a live concert
lossless
compression data that reserves all data away and allows full recovery of the original
lossy
compression data in a way that discards some data and makes it impossible to recover the original
metadata
data about data, like descriptive information about a file or a row in a database
sequencing
the sequential execution of steps in an algorithm or code in a program (like steps in a recipe) or it is the application of each step of an algorithm in order in which the code statements are given
selection
a boolean condition to determine which of two paths are taken in an algorithm or program
iteration
the repetition of steps in an algorithm or program for a certain amount of times or until a certain condition is met
linear search
an algorithm that iterates through each item in a list until it finds the target value
binary search
an algorithm that searches a sorted list for a value by repeatedly splitting the list in half
reasonable time
a run time for an algorithm that doesn’t increase faster than a polynomial function of the input size (like 10n or n²). an unreasonable run time would increase superpolynomial (like 2n or n!)
heuristic
a technique that helps an algorithm find a good solution in a hard problem (like always walking toward the north star when you are stuck in a forest)
undecidable
a problem that is so logically difficult, we can’t ever create an algorithm that would be able to answer “yes” or “no” for all inputs (like the halting problem)
library
a collection of procedures that are useful in creating programs
API (Application Programming Interface)
a library of procedures and a description of how to call each procedure
modularity
the separation of a program into independent modules that are each responsible for one aspect of the program’s functionality
traversal
the iteration over the items in a list. a full transversal iterates over every item, while a partial traversal iterates over a subset of the items
computing device
a physical device that can run a program, such as a computer, smart phone, or smart sensor
computer network
a group of interconnected computing device capable of sending or receiving data
bandwidth
the maximum amount of data that can be sent in a fixed period of time over a network connection, typically measured in bits per second.
protocol
an agreed upon set of rules that specify the behavior of a system
scalability
The ability of a system to adjust in scale to meet new demands.
IP (internet Protocol)
the protocol that determines how to address nodes on the network with the IP address and how to route data from one node to a destination node using routers
TCP (transmission control protocol)
a data transport protocol that includes mechanisms for reliably transmitting packets to a destination
UDP (user datagram protocol)
a lightweight data transport protocol with minimal error checking
World Wide Web
a system of linked pages, media, and files browsable over HTTP
HTTP (Hypertext Transfer Protocol)
the protocol that powers the web, used to request web pages from servers and submit form data to servers
Parallel computing
a computational model which splits a program into multiple tasks, some of which can be executed simultaneously
speedup
the improvement in the amount of time a parallelized program takes to solve a problem, computed as the amount of time to complete the task sequentially divided by the amount of time the task when run in parallel
digital divide
the idea that some communities or populations have less access to computing than others, typically due to limitations or Internet speed or computer hardware access
crowdsourcing
a model in which many online users combine efforts to help fund projects, generate ideas, or create goods or services
citizen science
crowdsourcing for science; the participation of volunteers from the public in a scientific research project (like collecting rain samples or counting butterflies)
creative commons
an alternative to copyright that allows people to declare how they want their artistic creations to be shared, remixed, used in non commercial contexts, and how the policy should propagate with remixed versions
open access
a policy that allows people to have access to documents like research papers for reading or data like government datasets for analysis
PII (personal identifiable information)
information about an individual that can be used to uniquely identify them directly or indirectly
multi factor authentication (MFA)
a method for user authentication which requires the user to present multiple pieces of evidence in multiple categories such as knowledge and possession
encryption
the process of scrambling data to prevent unauthorized access
symmetric encryption
a technique for encrypting data where the same key is used to both encrypt and decrypt data
public key encryption
an asymmetric encryption technique that uses different keys for encrypting versus decrypting data
cookie
a small amount of text that tracks information about a user visiting aa website
virus
a type of computer malware that can make copies of itself
phishing
an attack where a user is tricked into revealing private information, often via a deceptive email
rogue access point
a wireless access point that provides an attacker with unauthorized access to traffic going over the network