AP CS Principles Key Terms

Learn the essential key terms. Download the printable vocab sheet here.

Unit 1. Computing Innovations and Collaboration 

Key Term


Computing innovation

The creation or use of new computing technologies, methods, or systems to solve problems.


Working together with others on a project or task, often involving communication and sharing ideas.


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.


Data or information provided to a program for processing.


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.


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.


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.


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.


The process of finding and fixing errors or bugs in a program to make it work correctly.

Unit 3. Data 

Key Term



Storage locations in a program that hold data which can change during program execution.


Information collected or stored in a format that can be processed or analyzed.


The smallest unit of data in a computer, represented by a binary digit of 0 or 1.


A group of 8 bits, representing a single character or piece of data.


Simplifying complex data or concepts by focusing on important details.

Analog data

Continuous data that varies smoothly over time, like sound or temperature.


Whole numbers without fractions or decimal parts.


A numbering system with a base of 2, using only 0s and 1s to represent numbers.


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.


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



A named storage location in a program that holds a value that can change during execution.


A collection of elements or items stored in a specific order, often accessed by their position.


A single item or value within a list or collection, identified by its position or index.


The position or location of an element within a list or array, typically starting from 0.


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.


A step-by-step procedure or set of rules used to solve a problem or perform a task.


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.


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.


A mathematical operation that returns the remainder of a division operation.


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.


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.


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.


A named block of code that performs a specific task or operation.


A type of procedure that returns a value and can be used as part of an expression.


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.


The concept of breaking down a program into smaller, independent modules or components.


Collections of prewritten code or functions that can be used to extend the functionality of a program.


Generating pseudo-random numbers or values in a program.


The imitation of the operation of a real-world process or system over time.


A task or challenge that requires a solution.

Decision problem

A type of problem where the answer is either yes or no.


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.


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


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.


The route or sequence of connections between nodes or devices in a network.


The process of determining the optimal path for data packets to travel across a network.


The maximum amount of data that can be transmitted over a network connection in a given amount of time.


A global network of interconnected computer networks that communicate using standardized protocols.


A set of rules or standards defining how data is transmitted and received over a network.


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.


Small units of data sent over a network, each containing a portion of the transmitted information.


IP (Internet Protocol), Protocol for addressing and routing data packets. Used for routing data packets across networks.


TCP (Transmission Control Protocol), Connection-oriented protocol for reliable data delivery. Used for web browsing, email, and file transfer.


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.


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.


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


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.


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.


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.


Generic term for various types of malicious software, including viruses, worms, trojans, and spyware.


A cyber-attack where attackers impersonate legitimate entities to deceive individuals into providing sensitive information or access.


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: