AP CSP Vocabulary
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”). Learn more in Number limits, overflow, and round-off.
bit: A binary digit, either 0 or 1. Learn more in Binary numbers.
byte: A sequence of 8 bits. Learn more in Bytes.
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 as 3.14). Learn more in Number limits, overflow, and roundoff.
analog data: Values that change smoothly, rather than in discrete intervals, over time. For example, the pitch and volume of a live concert. Learn more in From analog to digital data.
lossless: Compressing data in a way that preserves all data away and allows full recovery of the original. Learn more in Data compression.
lossy: Compressing data in a way that discards some data and makes it impossible to recover the original. Learn more in Data compression.
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). Learn more in The building blocks of algorithms.
selection: A Boolean condition to determine which of two paths are taken in an algorithm or program. Learn more in The building blocks of algorithms and Conditionals: if, else, and Booleans.
iteration: The repetition of steps in an algorithm or program for a certain amount of times or until a certain condition is met. Learn more in The building blocks of algorithms and Repetition.
linear search : An algorithm that iterates through each item in a list until it finds the target value. Learn more in Measuring an algorithm's efficiency.
binary search: An algorithm that searches a sorted list for a value by repeatedly splitting the list in half. Learn more in Measuring an algorithm's efficiency.
reasonable time: A run time for an algorithm that doesn't increase faster than a polynomial function of the input size (like , , etc). An unreasonable run time would increase superpolynomially (like or ). Learn more in Categorizing run time efficiency.
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). Learn more in Using heuristics.
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). Learn more in Undecidable problems.
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. Learn more in Computer networks.
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. Learn more in Bit rate, bandwidth, and latency.
protocol: An agreed upon set of rules that specify the behavior of a system. Learn more in Open protocol development.
scalability: The ability of a system to adjust in scale to meet new demands. Learn more in Scalable systems.
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). Learn more in IP addresses and Routing with redundancy.
TCP (Transmission Control Protocol): A data transport protocol that includes mechanisms for reliably transmitting packets to a destination. Learn more in Transmission Control Protocol (TCP).
UDP (User Datagram Protocol): A lightweight data transport protocol with minimal error checking. Learn more in User Datagram Protocol (UDP).
World Wide Web: A system of linked pages, media, and files, browsable over HTTP. Learn more in The World Wide Web.
HTTP (Hypertext Transfer Protocol): The protocol that powers the Web, used to request webpages from servers and submit form data to servers. Learn more in Hypertext Transfer Protocol.
parallel computing: A computational model which splits a program into multiple tasks, some of which can be executed simultaneously. Learn more in Parallel computing.
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. Learn more in Parallel computing.
distributed computing: A computational model which uses multiple devices to run different parts of a program. Learn more in Distributed computing.
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. Learn more in The digital divide
crowdsourcing: A model in which many online users combine efforts to help fund projects, generate ideas, or create goods or services (like Wikipedia). Learn more in Crowdsourcing innovations.
citizen science: Crowdsourcing for science! The participation of volunteers from the public in a scientific research project (like collecting rain samples or counting butterflies). Learn more in Citizen science.
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. Learn more in Creative commons and open source.
open access: A policy that allows people to have access to documents (like research papers) for reading or data (like government datasets) for analysis. Learn more in Sharing science research online.
PII (Personally identifiable information): Information about an individual that can be used to uniquely identify them (directly or indirectly). Learn more in PII (Personally identifiable information).
multifactor 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). Learn more in Multifactor authentication.
encryption: The process of scrambling data to prevent unauthorized access. Learn more in Encryption, decryption, and cracking.
symmetric encryption: A technique for encrypting data where the same key is used to both encrypt and decrypt data. Learn more in Symmetric encryption techniques.
public key encryption: An asymmetric encryption technique that uses different keys for encrypting versus decrypting data. Learn more in Public key encryption.
cookie: A small amount of text that tracks information about a user visiting a website. Learn more in Web cookies.
virus: A type of computer malware that can make copies of itself. Learn more in Computer malware.
phishing: An attack where a user is tricked into revealing private information, often via a deceptive email. Learn more in Phishing attacks.
rogue access point: A wireless access point that provides an attacker with unauthorized access to the traffic going over the network. Learn more in Rogue access points.
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”). Learn more in Number limits, overflow, and round-off.
bit: A binary digit, either 0 or 1. Learn more in Binary numbers.
byte: A sequence of 8 bits. Learn more in Bytes.
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 as 3.14). Learn more in Number limits, overflow, and roundoff.
analog data: Values that change smoothly, rather than in discrete intervals, over time. For example, the pitch and volume of a live concert. Learn more in From analog to digital data.
lossless: Compressing data in a way that preserves all data away and allows full recovery of the original. Learn more in Data compression.
lossy: Compressing data in a way that discards some data and makes it impossible to recover the original. Learn more in Data compression.
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). Learn more in The building blocks of algorithms.
selection: A Boolean condition to determine which of two paths are taken in an algorithm or program. Learn more in The building blocks of algorithms and Conditionals: if, else, and Booleans.
iteration: The repetition of steps in an algorithm or program for a certain amount of times or until a certain condition is met. Learn more in The building blocks of algorithms and Repetition.
linear search : An algorithm that iterates through each item in a list until it finds the target value. Learn more in Measuring an algorithm's efficiency.
binary search: An algorithm that searches a sorted list for a value by repeatedly splitting the list in half. Learn more in Measuring an algorithm's efficiency.
reasonable time: A run time for an algorithm that doesn't increase faster than a polynomial function of the input size (like , , etc). An unreasonable run time would increase superpolynomially (like or ). Learn more in Categorizing run time efficiency.
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). Learn more in Using heuristics.
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). Learn more in Undecidable problems.
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. Learn more in Computer networks.
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. Learn more in Bit rate, bandwidth, and latency.
protocol: An agreed upon set of rules that specify the behavior of a system. Learn more in Open protocol development.
scalability: The ability of a system to adjust in scale to meet new demands. Learn more in Scalable systems.
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). Learn more in IP addresses and Routing with redundancy.
TCP (Transmission Control Protocol): A data transport protocol that includes mechanisms for reliably transmitting packets to a destination. Learn more in Transmission Control Protocol (TCP).
UDP (User Datagram Protocol): A lightweight data transport protocol with minimal error checking. Learn more in User Datagram Protocol (UDP).
World Wide Web: A system of linked pages, media, and files, browsable over HTTP. Learn more in The World Wide Web.
HTTP (Hypertext Transfer Protocol): The protocol that powers the Web, used to request webpages from servers and submit form data to servers. Learn more in Hypertext Transfer Protocol.
parallel computing: A computational model which splits a program into multiple tasks, some of which can be executed simultaneously. Learn more in Parallel computing.
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. Learn more in Parallel computing.
distributed computing: A computational model which uses multiple devices to run different parts of a program. Learn more in Distributed computing.
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. Learn more in The digital divide
crowdsourcing: A model in which many online users combine efforts to help fund projects, generate ideas, or create goods or services (like Wikipedia). Learn more in Crowdsourcing innovations.
citizen science: Crowdsourcing for science! The participation of volunteers from the public in a scientific research project (like collecting rain samples or counting butterflies). Learn more in Citizen science.
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. Learn more in Creative commons and open source.
open access: A policy that allows people to have access to documents (like research papers) for reading or data (like government datasets) for analysis. Learn more in Sharing science research online.
PII (Personally identifiable information): Information about an individual that can be used to uniquely identify them (directly or indirectly). Learn more in PII (Personally identifiable information).
multifactor 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). Learn more in Multifactor authentication.
encryption: The process of scrambling data to prevent unauthorized access. Learn more in Encryption, decryption, and cracking.
symmetric encryption: A technique for encrypting data where the same key is used to both encrypt and decrypt data. Learn more in Symmetric encryption techniques.
public key encryption: An asymmetric encryption technique that uses different keys for encrypting versus decrypting data. Learn more in Public key encryption.
cookie: A small amount of text that tracks information about a user visiting a website. Learn more in Web cookies.
virus: A type of computer malware that can make copies of itself. Learn more in Computer malware.
phishing: An attack where a user is tricked into revealing private information, often via a deceptive email. Learn more in Phishing attacks.
rogue access point: A wireless access point that provides an attacker with unauthorized access to the traffic going over the network. Learn more in Rogue access points.