1/74
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 errors 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 (like using 3 digits to represent [\pi] as 3.14).
analog data
Values that change smoothly, rather than in discrete intervals, over time. For example, the pitch and volume of a live concert.
lossless
Compressing data in a way that preserves all data away and allows full recovery of the original.
lossy
Compressing 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).
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, n^2, etc). An unreasonable run time would increase superpolynomial (like 2^n or n!).
heuristic
A technique that helps an algorithm find a good enough solution in a hard problem (like the traveling salesman that has to visit 13 cities and needs the best route).
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 traversal 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 devices 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 IP addresses) 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 to complete the task when run in parallel.
distributed computing
A computational model which uses multiple devices to run different parts of a program.
digital divide
The idea that some communities or populations have less access to computing than others, typically due to limitations of 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 (like Wikipedia).
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 noncommercial 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 (Personally identifiable information)
Information about an individual that can be used to uniquely identify them (directly or indirectly).
multi factor authentication (MFA)
A method of 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 a 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 the traffic going over the network.
Argument
is what is passed into the parameter (Ex. the Argument would be 1 or 2 that is passed into the program when we ask what level our user wants to play.)
Procedure
can also be known as a Method or a Function. They use these words to mean the same thing, although they are slightly different.
Conditional statement/Boolean Expression
a statement that has a condition (if score = 5, then you win the game, else you lose) It allows a program to make decisions and execute different blocks of code based on whether a condition is true or false.
Functionality
how the program runs(works) or functions.
User
the person using the program.
Program
A block of code.
Abstraction
simplifying complex systems or concepts by hiding unnecessary details and focusing on essential functionalities. This simplification makes code easier to understand, maintain, and reuse. (Ex. Walk - there are lots of parts of walk but it is simplified into one word.)
Indices
another word for index (Remember index always starts at 1).
Brackets [ ]
Bracket mean index.
Privacy Policies
A legal document that explains how an organization collects, uses, shares, and protects personal data. It also outlines the rights users have regarding their data.
Redundancy
Refers to the practice of incorporating backup components or systems to ensure continued operation in the event of a failure.
Configuration
Refers to the specific arrangement and settings of hardware and software components within a system.
Internet vs. World Wide Web
The Internet is the global network of interconnected computer networks, while the World Wide Web (WWW) is a specific service that uses the Internet to share information.
Arbitrary Number
A number that can be chosen from a set of possibilities without any specific criteria, such as a random number or a value within a defined range.
Append
To add to. If we appended 3 zeros to the end of a binary number it could change from this 111 to 111000.
Malware
Short for malicious software, refers to any software designed to perform actions a user does not intend or request, often without their knowledge.
Phishing
A type of cyberattack that uses deception to trick individuals into sharing sensitive information like login credentials or financial details.
Keylogging
Also known as keystroke logging, is the practice of recording the keys pressed on a keyboard, typically in a covert manner, to track user activity.
Abstraction
The process of hiding complex implementation details and presenting only the necessary information to the user.
Public Key vs. Private Key
Private Keys are used for both encryption and decryption of data and are shared between sender and receiver. Public Keys are used only for encrypting data.
len = length
When you see 'len' in a question it usually means length and it usually always refers to the length of a list/array.
DDoS - Distributed Denial of Service
A type of cyberattack that involves flooding a target system with excessive traffic from multiple sources.
NAND Gate
NAND is an abbreviation for 'NOT AND.' A two-input NAND gate is a digital combinational logic circuit that performs the logical inverse of an AND gate.
Binary vs. Linear Searches
Linear search checks each element one by one until it finds the target, while binary search efficiently narrows down the search range by dividing the list in half.
Parameter
the space left open for the user to respond. (For our program level our parameter would be "difficulty level")