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, amod  ba \mod b gives the remainder when aa is divided by bb.
  • 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

  1. Which of the following best describes the process of abstraction in computing?
    • B) Hiding implementation details to reduce complexity
  2. Which protocol is used to translate domain names to IP addresses?
    • C) DNS
  3. What is the decimal value of the binary number 10101010?
    • B) 170
  4. 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
  1. Which of the following is an example of a heuristic approach to problem-solving?
    • B) Greedy algorithm
  2. Which of the following best describes symmetric encryption?
    • B) Using the same key for both encryption and decryption
  3. 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
  4. Which of the following best describes citizen science?
    • C) Scientific research conducted by amateur or non-professional scientists
  5. What is the result of the Boolean expression (TRUE AND FALSE) OR (NOT FALSE)?
    • A) TRUE
  6. Which type of attack involves sending large amounts of traffic from multiple sources to overwhelm a system?
    • C) DDoS attack
  7. 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?
    • A) Linear search
  8. Which of the following is an advantage of parallel processing?
    • C) Increased processing speed for suitable problems
  9. 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