💻

APCSP Comprehensive Review Notes

May 9, 2025

APCSP Full Review Lecture Notes

Overview of APCSP

  • Split into 5 Big Ideas:
    • Creative Development
    • Data
    • Algorithms and Programming
    • Computer Systems and Networks
    • Impacts of Computing

Big Idea 1: Creative Development

  • Computing Innovation
    • Must include a program as a major part; can be physical (e.g., self-driving car) or software.
  • Collaboration
    • In programming, collaboration brings diverse viewpoints, reducing bias.
    • Online tools facilitate global collaboration (e.g., Zoom).
  • Programs
    • Collection of code statements; takes input (audio, text, visual) and provides output.
    • Development involves adjustments and user feedback.
    • Errors:
      • Logic Errors: Mistakes in the algorithm.
      • Syntax Errors: Mistakes in the programming language.
      • Runtime Errors: Occur during execution, like accessing out-of-bounds array elements.
      • Overflow Errors: When a number exceeds the compiler's range.

Big Idea 2: Data

  • Data Storage: Computers use bits (base 2 numbers, 1s and 0s).
    • Conversion between bases involves finding highest powers and subtracting.
    • Byte: Defined as eight bits.
  • Abstract Data: List variables or constants represent data, converted to bits.
  • Context Matters: Same bits can represent different things in different contexts.
  • Analog vs. Digital Data: Analog changes smoothly over time; digital data represents analog data.
  • Sampling Techniques: Measures analog data at intervals to model it digitally.
  • Data Compression:
    • Lossless: Complete restoration.
    • Lossy: Approximate restoration, more compression.
  • Data Opportunities: Identify trends and connections; correlation ≠ causation.
  • Metadata: Data about data; does not affect the primary data.
  • Data Cleansing: Making data uniform and complete; combining sources to reduce bias.
  • Data Analysis: Larger data sets need complex computing, might require parallel computing.

Big Idea 3: Algorithms and Programming

  • Variables: Hold values for later use in programming.
  • Lists: Group of similar variable types; uses indexes.
  • Strings: List of characters, can be concatenated.
  • Math Expressions: Addition, subtraction, division, multiplication, modulus.
  • Boolean Expressions: AND, OR, NOT.
  • Conditionals: Control flow with if, else, and nested statements.
  • Loops:
    • For Loops: Repeat a set number of times.
    • While Loops: Repeat until a condition is false.
  • Procedures: Similar to functions, may have inputs (parameters) and outputs (return values).
  • Libraries and APIs: Provide pre-built procedures for complex operations.
  • Simulations: Abstract real-world processes, cheaper and faster.
  • Algorithmic Efficiency:
    • Measured in computational resource usage and time.
    • Heuristic Algorithms: Fast solutions, not always accurate.
    • Decidable vs. Undecidable Problems: Solvability by algorithms.

Big Idea 4: Computer Systems and Networks

  • The Internet:
    • Computing Devices: Run programs, connect to networks.
    • Networks: Connected devices, send/receive data.
    • Routing and Paths: Find paths from sender to receiver.
    • Bandwidth: Max data transferred in bits per second.
    • Protocols: IP, TCP, UDP; define communication rules.
    • Fault Tolerance and Redundancy: Supports failures, increases reliability.
  • Computing Models:
    • Sequential Computing: One operation at a time.
    • Parallel Computing: Multiple operations simultaneously.
    • Distributed Computing: Multiple devices run programs.

Big Idea 5: Impacts of Computing

  • Beneficial vs. Harmful Effects: Innovations have unforeseen impacts.
  • Digital Divide: Internet access varies by socioeconomic factors.
  • Bias in Innovations: Reduce bias through diverse collaboration.
  • Crowdsourcing and Citizen Science: Gathering input from large groups for data and research.
  • Legal and Ethical Concerns:
    • Intellectual Property: Protects creators; piracy is illegal.
    • Creative Commons and Open Source: Allows free use and modification.
    • Safe Computing: Protect privacy (PII, authentication, encryption).
    • Viruses and Malware: Protect systems with detection software.
    • Phishing and Keylogging: Avoid unauthorized access by being cautious.

Practical Exercises

  • Create Task: Code projects (Jeopardy, Tic Tac Toe) using any language.
  • Definitions for Create Task:
    • Sequencing: Order of operations.
    • Selection: Boolean decision making.
    • Iteration: Repeating code until conditions are met.

Conclusion

  • Review key concepts and definitions.
  • Understand algorithms and impacts on computing.
  • Prepare for MCQs and create tasks on the exam.