Ahaan

Personal Study Blog AP Exam

AP Computer Science Principles - Personal Study Blog

This study blog is designed to help prepare for the AP CSP Exam by reviewing Big Ideas, learning essential vocabulary, and doing guided practice. Each section includes:

  • Key Concepts
  • Vocabulary
  • Personal Reflections
  • Practice Questions

Big Idea 1: Creative Development

Key Concepts:

  • Programming is a creative process that involves design, implementation, testing, and iteration.
  • Collaboration improves innovation.
  • Algorithms are essential to expressing computational solutions.

Vocabulary:

  • Algorithm: A step-by-step procedure to solve a problem.
  • Iteration: Repeating a sequence of instructions.
  • Collaboration: Working together to achieve a common goal.
  • Incremental Development: Building a program step by step.
  • Pair Programming: Two people writing code together.

Practice & Reflection:

  • Write a function that takes a number and returns whether it’s prime.
  • Reflect: What programming project did you find most creative this year? Why?

Big Idea 2: Data

Key Concepts:

  • Data is collected, transformed, and used to solve problems.
  • Patterns in data can be visualized and used to make decisions.

Vocabulary:

  • Data Abstraction: Representing data in a simplified way.
  • List (Array): A data structure for storing multiple items.
  • Boolean: A data type with two values: true and false.
  • Metadata: Data about data.
  • CSV/JSON: Common formats for data storage and exchange.

Practice & Reflection:

  • Load a dataset (e.g. weather, traffic) and visualize it using a bar chart.
  • What is a real-world example where data analysis helped solve a problem?

Big Idea 3: Algorithms and Programming

Key Concepts:

  • Algorithms express computational processes.
  • Control structures (loops, conditionals) guide flow.
  • Procedures/functions reduce complexity.
  • Testing and debugging are crucial.

Vocabulary:

  • Procedure (Function): A named sequence of instructions.
  • Selection: Making decisions with if statements.
  • Iteration: Using while or for loops.
  • Variable Scope: Where a variable can be accessed.
  • Syntax Error: Mistake in the code that prevents it from running.
  • Runtime Error: Error that occurs while the program is running.

Practice & Reflection:

  • Write a program that simulates flipping a coin 100 times and tracks heads/tails.
  • Debug a broken loop and explain how you fixed it.

Big Idea 4: Computer Systems and Networks

Key Concepts:

  • The internet is made of interconnected systems.
  • Protocols govern how data is sent and received.
  • Security and privacy are essential.

Vocabulary:

  • IP Address: A unique identifier for a device on the internet.
  • Packet: A chunk of data sent across a network.
  • DNS: Maps domain names to IP addresses.
  • HTTP/HTTPS: Protocols for transferring web data.
  • SSL/TLS: Encryption protocols for secure connections.
  • DDOS: An attack that floods a server with traffic.

Practice & Reflection:

  • Use a ping command to observe network traffic.
  • What are two ways you can protect your privacy online?

Big Idea 5: Impact of Computing

Key Concepts:

  • Computing impacts society, culture, and economy.
  • Digital information can be shared widely, but also raises concerns.

Vocabulary:

  • Digital Divide: Gap between those with and without access to technology.
  • Open Source: Software that is publicly shared and modifiable.
  • Crowdsourcing: Using the public to gather information or solve problems.
  • Bias in Algorithms: When systems reflect existing social biases.
  • Ethical Computing: Making decisions that respect privacy, fairness, and transparency.

Practice & Reflection:

  • Research and write about a current event involving technology and ethics (e.g. AI bias).
  • Reflect: How has computing positively or negatively impacted your community?

Exam Practice: Code Examples and Reflection

def binary_search(arr, target):
    low = 0
    high = len(arr) - 1
    while low <= high:
        mid = (low + high) // 2
        if arr[mid] == target:
            return True
        elif arr[mid] < target:
            low = mid + 1
        else:
            high = mid - 1
    return False
Scroll to top