AP Computer Science Principles Exam Study Guide
Data Representation and Binary Computing
- Binary: Base-2 number system (uses 0 and 1).
- Bit: Smallest unit of data, a single binary value (0 or 1).
- Byte: A group of 8 bits, representing 256 different values.
- Hexadecimal: Base-16 number system (0-9, A-F), concisely represents binary data.
- RGB: Color model using combinations of red, green, and blue values.
- ASCII: American Standard Code for Information Interchange, character encoding standard.
- Unicode: International encoding standard for characters from all writing systems.
- Lossy Compression: Reduces file size by discarding some data (e.g., JPEG, MP3).
- Lossless Compression: Preserves all original data (e.g., ZIP, PNG).
- Metadata: Data that describes other data (e.g., file size, creation date).
- Dirty Data: Contains errors, duplicates, inconsistencies, or improper formatting.
- Cleaning Data: Correcting or removing corrupt or inaccurate records.
Intellectual Property
- Intellectual Property: Legal rights from intellectual activity.
- Copyright: Legal protection for original works.
- Creative Commons License: Public copyright licenses for free distribution.
- Open Source: Software with accessible source code.
- Plagiarism: Taking someone else's work as your own.
Programming Fundamentals
- Algorithm: Step-by-step procedure.
- Variable: Storage location with a name that contains data.
- Expression: Combination of values, variables, operators that evaluates to a single value.
- Modulus: Remainder after division. For example, amodb gives the remainder when a is divided by b.
- Boolean Logic: Algebra dealing with binary variables and logic operations.
- AND: Returns true if both operands are true.
- OR: Returns true if at least one operand is true.
- NOT: Returns the opposite Boolean value.
- List/Array: Collection of items stored at contiguous memory locations, accessed using an index.
- Index: Integer value indicating the position of an element in a data structure.
- Element: An individual item in a collection.
- Append: Adds an element to the end of a data structure.
- Procedure/Function: Code that performs a specific task.
- Return: Ends function execution and returns a value.
- Conditional: Performs different operations based on a condition.
- Loop: Repeats a sequence of instructions.
- Iteration: Single execution of a loop body.
- Event-Driven Programming: Program flow determined by events.
- API: Application Programming Interface - rules for programs to communicate.
- Abstraction: Removing details to focus on essential features.
- Equivalent Code: Different code segments that accomplish the same task.
Algorithms and Efficiency
- Algorithm Efficiency: Measure of computational resources used.
- Big O Notation: Describes the upper bound of an algorithm's time or space complexity.
- Linear (Sequential) Search: Checks each element until a match is found.
- Binary Search: Efficient search on a sorted array.
- Unreasonable Time: Algorithms that take too long to solve a problem.
- Heuristics: Practical problem-solving techniques that aren't guaranteed to be optimal.
Undecidable Problems
- Undecidable Problems: No algorithm can provide a correct yes-or-no answer.
- Optimization Problems: Maximize or minimize a function with constraints.
- Recursive Algorithm: Algorithm that calls itself with smaller inputs.
Computing Innovations
- Computing Innovation: Technology with societal impact.
- Artificial Intelligence (AI): Systems that perform tasks requiring human intelligence.
- Machine Learning: AI technique where systems learn and improve from experience.
- Algorithmic Bias: Systematic errors creating unfair outcomes.
- Simulation: Imitation of a real-world process.
- Model: Representation of a system for investigation.
- Crowdsourcing: Obtaining information from many people.
- Citizen Science: Research by amateur scientists.
Computing Systems and Networks
- Computing Device: Equipment that processes data.
- Computing System: Hardware and software units that perform processing.
- Computing Network: Interconnected computing devices.
- Internet: Global system of interconnected networks.
- World Wide Web: Information system with URLs and hyperlinks.
- IP Address: Unique identifier for each computer using Internet Protocol for example 192.168.1.1.
- Domain Name System (DNS): Translates domain names to IP addresses.
- Protocol: Rules for data transmission and reception.
- Packet: Unit of data transmitted over a network.
- Packet Metadata: Information that describes a packet.
- Bandwidth: Maximum data transfer rate.
- Path: Route between sender and receiver.
- Router: Networking device that forwards packets.
- HTTP: HyperText Transfer Protocol, foundation of data communication on the Web.
- HTTPS: Secure version of HTTP.
- Cookie: Data stored on the user's computer by the web browser.
- TCP: Transmission Control Protocol, provides reliable delivery of data.
- UDP: User Datagram Protocol, simpler protocol without guaranteed delivery.
- SSL/TLS: Secure Sockets Layer / Transport Layer Security, protocols for secure communication.
Parallel and Distributed Computing
- Parallel Computing: Simultaneous calculations.
- Speedup: How much faster a parallel algorithm is.
- Distributed Computing: Components on different computers working together.
- Fault Tolerance: System continues operating despite failures.
- Redundancy: Duplication of critical components.
- Scalability: System's ability to handle growth.
Cybersecurity
- Encryption: Converting information into code.
- Decryption: Converting encrypted information back.
- Cipher: Algorithm for encryption or decryption.
- Caesar Cipher: Shifts each letter by a fixed number of positions.
- Symmetric Encryption: Uses the same key for encryption and decryption.
- Asymmetric Encryption: Uses different keys for encryption and decryption (public and private).
- Public Key Encryption: Uses a public key for encryption and a private key for decryption.
- Private Key Encryption: Uses the same key for both encryption and decryption.
- Malware: Software designed to disrupt or damage a system.
- Phishing Attack: Disguising as a trustworthy entity to obtain information.
- DDoS: Distributed Denial of Service, overwhelms a target with traffic.
- Man in the Middle Attack: Secretly relays and possibly alters communications.
- Keylogging: Recording of keystrokes.
- Password Attack/Theft: Stealing or cracking passwords.
- Ransomware: Blocks access to data unless a ransom is paid.
- Social Engineering: Manipulating people to divulge information.
- Rogue Access Point: Unauthorized wireless access point.
- Zero-Day Exploit: Attack on the same day a weakness is discovered.
- Multifactor Authentication: Requires multiple verification factors.
- Digital Divide: Gap in access to technology.
- Data Stream: Sequence of digitally encoded signals.
- Cracking Encryption: Attempting to defeat or bypass encryption.
Key Concepts
1. Creative Development
- Computational Artifacts: Digital creations.
- Design Process: Structured problem-solving approach.
- Collaboration: Working effectively with others.
2. Data
- Data Representation: How information is encoded and stored.
- Binary Numbers: Base-2 system.
- Data Compression: Methods to reduce data size.
- Data Collection and Analysis: Gathering, processing, and interpreting data.
- Data Visualization: Visual representations of data.
- Big Data: Extremely large data sets.
3. Algorithms and Programming
- Variables and Assignments: Storing and manipulating data.
- Control Structures:
- Sequences: Instructions executed in order
- Selection: Conditional statements (if-else)
- Iteration: Loops (for, while)
- Functions and Procedures: Reusable blocks of code.
- Lists and Arrays: Collections of items accessed by index.
- Algorithms: Step-by-step procedures.
- Algorithm Analysis: Evaluating efficiency and correctness.
- Programming Abstractions: Hiding complexity through encapsulation.
4. Computer Systems and Networks
- Hardware Components: Physical parts of a computer.
- Software Components: Programs and operating systems.
- Internet Architecture: Structure and protocols of the global network.
- Networking Protocols: Rules for data transmission.
- Security and Privacy: Methods to protect data and systems.
- Parallel and Distributed Computing: Systems that use multiple processors.
5. Impact of Computing
- Beneficial and Harmful Effects: Positive and negative impacts.
- Digital Divide: Inequalities in access.
- Legal and Ethical Concerns: Issues around intellectual property, privacy, and ethics.
- Safe Computing Practices: Protecting personal data and systems.
- Innovations: Transformations in various fields.
- Crowdsourcing and Citizen Science: Leveraging large groups.
Practice Multiple Choice Questions
- Which of the following best describes the process of abstraction in computing?
- B) Hiding implementation details to reduce complexity
- Which protocol is used to translate domain names to IP addresses?
- What is the decimal value of the binary number 10101010?
- A list in a program contains the values [5, 8, 2, 7, 3]. After executing the following code, what will be the value of total?
total = 0
for i in range(len(list)):
if list[i] % 2 == 0:
total = total + list[i]
* A) 10
- Which of the following is an example of a heuristic approach to problem-solving?
- Which of the following best describes symmetric encryption?
- B) Using the same key for both encryption and decryption
- What is the primary difference between the Internet and the World Wide Web?
- B) The Internet is a global network of connected devices, while the Web is an information system built on top of the Internet
- Which of the following best describes citizen science?
- C) Scientific research conducted by amateur or non-professional scientists
- What is the result of the Boolean expression (TRUE AND FALSE) OR (NOT FALSE)?
- Which type of attack involves sending large amounts of traffic from multiple sources to overwhelm a system?
- A computer program needs to find a specific student record in an unsorted list of 1,000 student records. Which search algorithm would be most efficient?
- Which of the following is an advantage of parallel processing?
- C) Increased processing speed for suitable problems
- Which of the following statements about creative commons licenses is true?
- C) They allow creators to specify how their work can be used by others