- AP Computer Science Principles - Personal Study Blog
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
ifstatements. - Iteration: Using
whileorforloops. - 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
pingcommand 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
Sample Code - Binary Search
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