AP Computer Science Principles flashcards
AP Computer Science Principles · Build recall with a focused review session.
32 cards. Read the term and the definition here. The deck at the top of this page is optional.
- Iterative development
- A process of repeatedly building a small working version of a program, testing it, and revising based on results before continuing.
- Procedure abstraction
- Naming a group of programming statements so the group can be called by name, hiding the underlying details from the caller.
- Parameter vs. argument
- A parameter is the named input declared in a procedure's definition; an argument is the actual value passed when the procedure is called.
- Incremental development
- Adding functionality to a program in small pieces, testing each addition before moving on to the next piece.
- Code documentation
- Written descriptions of a program's purpose, inputs, outputs, and constraints that help other programmers understand and reuse the code.
- Open-source software
- Software whose source code is publicly available so others may inspect, modify, and redistribute it, usually under a license.
- Binary number system
- A base-2 system using only the digits 0 and 1, where each position represents a power of two.
- Bit and byte
- A bit is a single binary digit (0 or 1); a byte is a group of 8 bits, the standard unit for encoding a character.
- Lossless compression
- A compression method that reduces file size while preserving all original data, allowing exact reconstruction of the original file.
- Lossy compression
- A compression method that permanently discards some data to shrink a file, so the original cannot be exactly reconstructed.
- Metadata
- Data that describes other data, such as a file's creation time, author, or location, and can reveal unintended information.
- Data cleaning
- The process of removing errors, duplicates, and outliers from a dataset so analysis results are more accurate.
- Correlation vs. causation
- Two variables changing together (correlation) does not prove that one variable causes the change in the other.
- Sampling rate and bit depth
- The number of samples taken per second and the bits per sample; together they determine how faithfully analog data is digitized.
- Boolean expression
- An expression that evaluates to either true or false, often combining comparisons with AND, OR, and NOT operators.
- Selection and iteration
- Selection chooses among paths using conditions such as if/else; iteration repeats statements using loops such as for or while.
- Linear search
- A search that examines elements one at a time from start to end until the target is found or the list ends.
- Binary search
- A search that repeatedly halves a sorted list, comparing the middle element to the target, and runs in logarithmic time.
- Reasonable time
- An algorithm whose run time grows no faster than a polynomial in the input size, such as linear or binary search.
- List traversal
- Using a loop to visit each element of a list in order, often to search, count, or transform the elements.
- Algorithm
- A finite, unambiguous sequence of steps that, given an input, produces a result or solves a problem.
- Debugging
- Locating and fixing errors in a program by testing, tracing variable values, and adding output statements.
- Internet vs. World Wide Web
- The Internet is the global network of networks; the World Wide Web is a service of linked pages that runs on it.
- DNS
- The Domain Name System translates human-readable domain names into numeric IP addresses that computers use to route data.
- TCP vs. UDP
- TCP provides reliable, ordered delivery with acknowledgments and retransmission; UDP sends packets quickly without guaranteeing delivery.
- Packet switching
- Breaking messages into packets that travel independently and are reassembled at the destination, allowing the network to tolerate failures.
- Bandwidth and latency
- Bandwidth is the maximum data transfer rate of a connection; latency is the delay before data begins arriving.
- Parallel vs. distributed computing
- Parallel computing runs tasks simultaneously on multiple processors in one machine; distributed computing spreads tasks across networked machines.
- Personally identifiable information
- Data that can identify a specific individual, either alone or when combined with other available information.
- Encryption
- Encoding data so only authorized parties can read it; symmetric encryption uses one key, public-key encryption uses a key pair.
- Phishing
- A social-engineering attack that tricks people into revealing credentials or data by impersonating a trustworthy entity.
- Algorithmic bias
- Systematic unfair outcomes produced when data or algorithm design reflects existing prejudices or unrepresentative samples.