The AP Computer Science Principles (CSP) exam requires a strong understanding of key vocabulary. This guide provides a comprehensive overview of essential terms, categorized for easier learning and retention. Mastering this vocabulary is crucial for success on the exam and building a solid foundation in computer science.
I. Fundamental Concepts
1. Abstraction:
- Definition: Managing complexity by hiding unnecessary details and focusing on essential information. Think of it like a simplified model or representation of a complex system. For example, driving a car – you don't need to understand the intricate workings of the engine to operate it.
- Example: Using a high-level programming language like Python, where you don't need to manage memory directly.
2. Algorithm:
- Definition: A step-by-step procedure or formula for solving a problem or accomplishing a task. It's a set of instructions that a computer can follow.
- Example: A recipe for baking a cake is an algorithm. A sorting algorithm arranges data in a specific order.
3. Binary:
- Definition: A number system with only two digits: 0 and 1. Computers use binary to represent data because it's easy to represent physically using electronic switches (on/off).
- Example: The number 10 in decimal is 1010 in binary.
4. Boolean:
- Definition: A data type that can have only two values: true or false. Used for logical operations and conditions.
- Example: The expression "x > 5" evaluates to a Boolean value (true or false).
5. Bug:
- Definition: An error in a program that prevents it from functioning correctly.
- Example: A syntax error, a logical error, or a runtime error.
6. Code:
- Definition: Instructions written in a programming language that a computer can execute.
- Example: Lines of Python, Java, or C++ code.
7. Compilation:
- Definition: The process of translating source code (written by a programmer) into machine code (understood by a computer).
- Example: Compiling a Java program into bytecode.
II. Data Representation & Processing
1. Data:
- Definition: Raw facts, figures, and symbols. It's the input to a computer program.
- Example: Numbers, text, images, audio.
2. Data Structure:
- Definition: A specific way of organizing and storing data in a computer.
- Example: Arrays, lists, trees, graphs.
3. Digital:
- Definition: Information represented using discrete values (e.g., 0s and 1s). Contrast with analog, which uses continuous values.
- Example: Digital images are made up of pixels, each represented by a binary code.
4. Hardware:
- Definition: The physical components of a computer system (e.g., CPU, memory, keyboard).
- Example: A computer's motherboard, hard drive, and monitor.
5. Input:
- Definition: Data or instructions provided to a computer system.
- Example: Typing text on a keyboard or clicking a mouse button.
6. Output:
- Definition: The result produced by a computer system after processing input.
- Example: Text displayed on a screen, a printed document, or sound from speakers.
III. Programming & Software
1. Debugging:
- Definition: The process of identifying and removing errors (bugs) from a computer program.
- Example: Using a debugger to step through code and find the source of an error.
2. Iteration:
- Definition: Repeating a block of code multiple times. Often used with loops.
- Example: A
for
loop or awhile
loop.
3. Logic:
- Definition: The reasoning behind a computer program, including the flow of control and decision-making processes.
- Example: Conditional statements (if-else), logical operators (AND, OR, NOT).
4. Program:
- Definition: A set of instructions that tell a computer what to do.
- Example: A word processor, a web browser, a game.
5. Software:
- Definition: The programs, data, and instructions that run on a computer.
- Example: Operating systems, applications, and utility programs.
6. Variable:
- Definition: A named storage location in a computer program that holds a value.
- Example:
x = 10
assigns the value 10 to the variablex
.
This vocabulary list serves as a starting point. Remember to consult your textbook and class materials for a more complete understanding. Practicing with examples and applying these concepts to real-world scenarios will significantly improve your comprehension and success in AP Computer Science Principles.