AP CS Principles Key Terms
Jane Lee
Learn the essential key terms. Download the printable vocab sheet here.
Unit 1. Computing Innovations and Collaboration
Key Term | Definition |
Computing innovation | The creation or use of new computing technologies, methods, or systems to solve problems. |
Collaboration | Working together with others on a project or task, often involving communication and sharing ideas. |
Program | A set of instructions or code that tells a computer what to do to perform a specific task or solve a problem. |
Code segment | A section of code within a program that performs a specific function or task. |
Input | Data or information provided to a program for processing. |
Output | Results produced by a program after processing input data. |
Event-driven programming | A programming paradigm where the flow of the program is determined by events or user interactions. |
Prototype | A preliminary version or model of a product or system used for testing or demonstration purposes. |
Iterative development process | A software development approach where the project is repeatedly refined through cycles of planning, implementation, testing, and evaluation. |
Incremental development process | A software development approach where the project is built in small, incremental steps, adding features or improvements over time. |
User testing | Evaluating a product or system by having users interact with it to identify usability issues, gather feedback, and make improvements. |
Storyboarding | Creating a sequence of sketches or diagrams to visualize the flow and interactions of a user interface or application. |
Program documentation | Descriptions, explanations, or instructions provided alongside code to help developers understand, use, and maintain the program. |
Comments | Notes or annotations added to code by developers to explain its purpose, functionality, or implementation details. |
Logic error | A mistake in the logic or reasoning of a program, causing it to produce incorrect results or behave unexpectedly. |
Syntax error | Errors in the structure or syntax of code that violate the rules of the programming language. |
Run-time error | Errors that occur while a program is running, often due to unexpected conditions or invalid operations. |
Overflow error | Error that occurs when a calculation or operation produces a result that is too large to be represented or stored. |
Debug | The process of finding and fixing errors or bugs in a program to make it work correctly. |
Unit 3. Data
Key Term | Definition |
Variables | Storage locations in a program that hold data which can change during program execution. |
Data | Information collected or stored in a format that can be processed or analyzed. |
Bits | The smallest unit of data in a computer, represented by a binary digit of 0 or 1. |
Bytes | A group of 8 bits, representing a single character or piece of data. |
Abstraction | Simplifying complex data or concepts by focusing on important details. |
Analog data | Continuous data that varies smoothly over time, like sound or temperature. |
Integers | Whole numbers without fractions or decimal parts. |
Binary | A numbering system with a base of 2, using only 0s and 1s to represent numbers. |
Decimal | A numbering system with a base of 10, using digits 0 to 9 to represent numbers. |
Data compression | Reducing the size of data to save storage space or transmission time. |
Lossless data compression | Compression technique that reduces file size without losing any data. |
Lossy data compression | Compression technique that reduces file size by removing some data, often reducing quality. |
Metadata | Data that provides information about other data, such as the creation date of a file. |
Incomplete data | Data lacking necessary information or missing parts. |
Invalid data | Data that does not meet the required format or criteria. |
Cleaning data | The process of detecting and correcting errors or inconsistencies in data. |
Data sets | Collections of related data points or observations. |
Scalability of systems | Ability of a system to handle increasing amounts of data or users. |
Search tools | Software or algorithms used to find specific information within a dataset. |
Data filtering systems | Tools or techniques used to extract specific data from a larger dataset. |
Data visualization | Representing data graphically to help understand patterns, trends, or relationships. |
Unit 4. Algorithms and Programming
Key Term | Definition |
Variable | A named storage location in a program that holds a value that can change during execution. |
List | A collection of elements or items stored in a specific order, often accessed by their position. |
Element | A single item or value within a list or collection, identified by its position or index. |
Index | The position or location of an element within a list or array, typically starting from 0. |
String | A sequence of characters or symbols, often used to represent text or data. |
Data abstraction | Simplifying complex data or concepts by focusing on important details and hiding unnecessary details. |
Algorithm | A step-by-step procedure or set of rules used to solve a problem or perform a task. |
Sequencing | The process of executing instructions or operations in a specific order or sequence. |
Code statement | A single line of code that performs a specific action or operation in a program. |
Expression | A combination of variables, values, and operators that represents a single value. |
Arithmetic operators | Symbols or functions used to perform mathematical operations, such as addition or subtraction. |
Modulus | A mathematical operation that returns the remainder of a division operation. |
Substring | A contiguous sequence of characters within a string. |
Boolean value | A value representing true or false, often used in logical expressions and conditions. |
Relational operators | Symbols used to compare two values or expressions, such as equality or greater than. |
Logical operators | Operators used to combine or modify boolean values, such as AND, OR, and NOT. |
Selection | A programming construct that allows different paths or actions to be taken based on conditions. |
Nested selection | Using one selection construct within another, allowing for multiple levels of conditional execution. |
Iteration | The process of repeating a set of instructions or operations multiple times in a program. |
List operators | Operations or functions used to manipulate lists, such as adding or removing elements. |
List traversal | Visiting each element in a list or collection, typically in a sequential order. |
Binary search | A search algorithm that finds the position of a target value within a sorted list or array. |
Sorted order | Arranging elements in a list or collection in ascending or descending order. |
Procedure | A named block of code that performs a specific task or operation. |
Function | A type of procedure that returns a value and can be used as part of an expression. |
Parameter | A variable or value passed to a procedure or function as input. |
Procedural abstraction | Hiding the implementation details of a procedure or function and focusing on its behavior or purpose. |
Modularity | The concept of breaking down a program into smaller, independent modules or components. |
Libraries | Collections of prewritten code or functions that can be used to extend the functionality of a program. |
Random | Generating pseudo-random numbers or values in a program. |
Simulation | The imitation of the operation of a real-world process or system over time. |
Problem | A task or challenge that requires a solution. |
Decision problem | A type of problem where the answer is either yes or no. |
Efficiency | The measure of how well a program or algorithm performs in terms of time and space usage. |
Algorithms that run in a reasonable/ an unreasonable amount of time | Algorithms that can complete their task within a practical timeframe, versus those that take too long to be practical. |
Heuristic | A problem-solving approach that uses practical methods or rules of thumb, often leading to approximate solutions. |
Decidable/ Undecidable problem | A problem for which a definite yes or no answer can be determined versus those that cannot be definitively answered. |
Unit 6. Computer Systems and Network
Key Term | Definition |
Computing device | Any physical device capable of performing computations, such as a computer, smartphone, or tablet. |
Computing system | A collection of hardware, software, and peripherals working together to perform computing tasks. |
Computer network | A set of interconnected computing devices or systems that can communicate and share resources. |
Path | The route or sequence of connections between nodes or devices in a network. |
Routing | The process of determining the optimal path for data packets to travel across a network. |
Bandwidth | The maximum amount of data that can be transmitted over a network connection in a given amount of time. |
Internet | A global network of interconnected computer networks that communicate using standardized protocols. |
Protocol | A set of rules or standards defining how data is transmitted and received over a network. |
Scalability | The ability of a system or network to handle increasing amounts of data, users, or traffic. |
Data stream | A continuous flow of data transmitted over a network or communication channel. |
Packets | Small units of data sent over a network, each containing a portion of the transmitted information. |
IP | IP (Internet Protocol), Protocol for addressing and routing data packets. Used for routing data packets across networks. |
TCP | TCP (Transmission Control Protocol), Connection-oriented protocol for reliable data delivery. Used for web browsing, email, and file transfer. |
UDP | UDP (User Datagram Protocol). Connectionless protocol for fast data transmission. Used for Real-time applications, video streaming, online gaming. |
World Wide Web | An information system consisting of interlinked hypertext documents accessible via the Internet. |
HTTP | Hypertext Transfer Protocol, a protocol used for transmitting web pages and other data over the Internet. |
Fault-tolerant system | A computing system designed to continue functioning properly even in the presence of hardware or software failures. |
Redundancy | Duplication of critical components or resources in a system to improve reliability and fault tolerance. |
Sequential computing | A computing paradigm where tasks are performed one after another in a single sequence or thread. |
Parallel computing | A computing paradigm where tasks are divided into smaller subtasks that can be executed simultaneously. |
Distributed computing | A computing model where tasks are spread across multiple computers or devices in a network. |
Sequential solution vs. Parallel computing solution | Comparing the approach of solving a problem sequentially versus using parallel computing techniques to solve it concurrently. |
Benefits and challenges of distributed computing | Discussing the advantages and obstacles associated with distributed computing, such as scalability, fault tolerance, and network communication overhead. |
Unit 7. Impact of Computing
Key Term | Definition |
Computing innovations | New technologies, methods, or systems in computing that lead to advancements and improvements in various fields and industries. |
Impact beyond intended purposes | The consequences or effects of a technology or innovation that extend beyond its original goals or applications. |
Machine learning | A branch of artificial intelligence (AI) that enables computers to learn from data and improve their performance without explicit programming. |
Digital divide | The gap between those who have access to modern information and communication technology and those who do not. |
Human bias | Prejudices or preferences that influence human decision-making or behavior, which may also affect technology development and use. |
Citizen science | Scientific research conducted by non-professional or amateur scientists, often with the help of technology and online collaboration. |
Crowdsourcing | Outsourcing tasks, ideas, or information to a large group of people or community, typically using the internet and social media platforms. |
Intellectual property | Legal rights and protections for creations of the mind, such as inventions, artistic works, and symbols. |
Creative Commons | A licensing system that allows creators to share their work with specific permissions and restrictions, promoting collaboration and reuse. |
Open source | Software or projects with source code that is publicly accessible and can be freely used, modified, and distributed by anyone. |
Open access | Providing free and unrestricted online access to scholarly research, literature, or educational materials. |
Personally Identifiable Information | Data that can be used to identify, locate, or contact an individual, such as names, addresses, or social security numbers. |
Multifactor authentication | A security process that requires users to provide two or more forms of verification before granting access to a system or service. |
Encryption | The process of converting data into a secure form using algorithms to prevent unauthorized access or interception. |
Symmetric key encryption | Encryption method that uses a single key to both encrypt and decrypt data. |
Public key encryption | Encryption method that uses a pair of keys, a public key for encryption and a private key for decryption, ensuring secure communication. |
Digital certificates | Electronic documents that verify the authenticity of a website or entity and establish secure communication using encryption. |
Computer virus | Malicious software that infects a computer and spreads by attaching itself to other programs or files. |
Malware | Generic term for various types of malicious software, including viruses, worms, trojans, and spyware. |
Phishing | A cyber-attack where attackers impersonate legitimate entities to deceive individuals into providing sensitive information or access. |
Keylogging | Monitoring and recording keystrokes on a computer or device, often used by attackers to capture passwords or sensitive data. |
Rogue access point | Unauthorized wireless access point installed on a network to intercept data or gain unauthorized access to connected devices. |
Additional Resources:
- Download the printable vocab sheet here.
- Cobi AP CS Principles Curriculum: https://gocobi.com/curriculum
- AP CS Principles: The Ultimate Prep Book: https://www.amazon.com/dp/B0CT3D8V72
- AP CS Principles Create Task Checklist: https://blog.gocobi.com/ap-cs-principles-create-task-checklist/
- AP CS Principles Performance Task Overview: https://blog.gocobi.com/big-change-ap-cs-principles-performance-task/