Links to lessons with review
- Beneficial & Harmful effects
- Digital Divide
- Computing Bias
- Crowd Sourcing
- Legal/Ethical Concerns
- Binary Search Algorithims
- Lists and Filtering Algorithims
- Simluations and random alogrithims
- Big O and Algorithimic efficency
- Undecideable Problems, Graphs + Heuristics
MC Review Blog
Missed topics breakdown
1.4 Identifying and Correcting Errors (5%)
Reason for Mistakes: Misunderstanding common error messages or debugging strategies. Overlooking small syntax or logic errors in the code.
How to Improve: Practice debugging using tools in your programming environment. Focus on reading error messages carefully to identify the root cause. Use step-by-step debugging techniques like adding print statements or using a debugger.
2.2 Data Compression (5%)
Reason for Mistakes: Difficulty understanding how data compression algorithms work. Confusion with interpreting compression ratio or efficiency.
How to Improve: Study examples of data compression techniques (e.g., Huffman encoding). Practice calculating compression ratios and understanding how data is transformed. Review scenarios where compression is used and its trade-offs.
1) The code segment below is intended to swap the values of the variables first and second using a temporary variable, temp.
The block code consists of 3 lines. Line 1: temp, left arrow, first Line 2: first, left arrow, second Line 3: MISSING CODE
Which of the following can be used to replace missing code so that the code segment works as intended?
Answer: temp <- second Correct answer: second <- temp
2) Which of the following best describes one of the benefits of using an iterative and incremental process of program development?
Answer: It allows programmers to implement algorithmic solutions to otherwise unsolvable problems. Correct answer: It helps programmers identify errors as components are added to a working program.
3) A spinner is divided into three sections. The sector labeled Red is four times as large as each of the sectors labeled Blue and Yellow, which are of equal size.
The figure shows a spinner divided into 3 sections. The sector labeled Red is 4 times as large as each of the sectors labeled Blue and Yellow, which are of equal size.
The procedure below is intended to simulate the behavior of the spinner.
Which of the following can be used to replace missing code so that the procedure correctly simulates the spinner?
Answer: C Correct answer: D
4) A social media site allows users to send messages to each other. A group of researchers gathered user data for the first 10 years of the site’s existence. Some of the data are summarized in the table below, along with some of the company milestones.
Which of the following hypotheses is most consistent with the data in the table?
Answer: The mobile app release did not have any effect on the average number of daily messages sent per user. Correct Answer: The mobile app release led to users tending to write shorter messages.
5) Which of the following is a true statement about Internet communication?
Answer: Every device connected to the Internet is assigned a digital certificate by a certificate authority.
Correct Answer: Every device connected to the Internet is assigned an Internet protocol (IP) address.
6) A user reads reviews of a popular artist’s new album and then downloads the album from the Web site of a licensed online music seller. Which of the following is LEAST likely to be a consequence of this action?
Answer: Advertisements for the artist’s other albums will be displayed when the user visits a different Web site.
Correct Answer: The user will be in violation of the Digital Millennium Copyright Act (DMCA).
7) Byte pair encoding is a data encoding technique. The encoding algorithm looks for pairs of characters that appear in the string more than once and replaces each instance of that pair with a corresponding character that does not appear in the string. The algorithm saves a list containing the mapping of character pairs to their corresponding replacement characters.
For example, the string”THIS_ IS_THE_BEST_WISH” can be encoded as” %##%E_BEST_W#H
Which of the following statements about byte pair encoding is true?
Answer: Byte pair encoding is an example of a lossy transformation because it discards some of the data in the original string.
Correct Answer: Byte pair encoding is an example of a lossless transformation because an encoded string can be restored to its original version.
8) A text-editing application uses binary sequences to represent each of 200 different characters. What is the minimum number of bits needed to assign a unique bit sequence to each of the possible characters?
Answer: 6 Correct Answer: 8
9) A computer program performs the operation 2 divided by 3 and represents the result as the value 0.6666667. Which of the following best explains this result?
Answer: An overflow error occurred. Correct Answer: The precision of the result is limited due to the constraints of using a floating-point representation.
🧠 How I’m Studying for the AP Computer Science Principles (CSP) Exam
Preparing for the AP CSP exam requires a balance of code analysis, multiple-choice question practice, and a deep understanding of my CPT project. Here’s a breakdown of how I’m tackling each part:
📘 1. Analyzing Code Segments
One of the most important skills for the CSP exam is being able to read and interpret code, especially pseudocode or simplified programming language examples.
✅ Key Concepts I Review:
- Variables and data types: What values are stored and how they change.
- Conditionals (
if
,else if
,else
): How decisions are made in code. - Loops (
for
,while
): How repetition is handled. - Functions: How procedures are defined and called with parameters.
- Lists and collections: How data is stored and manipulated.
- Return values vs. printing: Knowing what a function outputs.
🔍 How I Practice:
- I solve short code analysis questions daily.
- I explain code segments to myself or a study partner.
- I practice tracing code line-by-line to see how variables change.
📝 2. Answering Multiple Choice Questions (MCQs)
The MC section tests both coding and non-coding topics. To succeed, I study patterns and know how to eliminate wrong answers efficiently.
🧩 Topics I Focus On:
- Algorithms and their purposes
- Binary numbers and data representation
- Internet protocols like HTTP, TCP/IP, and DNS
- Cybersecurity and data privacy
- Computing innovations and their social/ethical impact
🎯 How I Practice:
- I take practice tests from College Board and AP Classroom.
- I use Quizlet and AP Prep books to review common question types.
- I mark which questions I got wrong and study the concepts behind them.
🖥️ 3. Mastering the Create Performance Task (CPT)
The CPT is worth 30% of my score and requires me to fully understand the program I created.
🔍 What I Review:
- My program’s purpose and how it solves a problem.
- Input and output examples.
- Use of abstraction (my custom function with parameters).
- How I used a list or another collection to manage complexity.
- How my code shows algorithmic thinking (selection + iteration).
- Citations for any images, libraries, or help I used.
📂 How I Prepare:
- I reread my written responses (2a–2d) and make sure I can explain every part of my code.
- I practice explaining how my algorithm works step-by-step.
- I review my video and check that it clearly shows the function, list, and program behavior.
🗓️ 4. My Weekly Study Plan
Day | Focus Area | Time |
---|---|---|
Monday | Code tracing & algorithms | 1 hr |
Tuesday | Internet & data review | 1 hr |
Wednesday | Practice MCQs + CPT review | 1 hr |
Thursday | Practice test & MC strategy | 1 hr |
Friday | Study group: review CPT + tough MCs | 1.5 hr |
Saturday | Full timed practice test | 2 hr |
Sunday | Light review + rest | 1 hr |
Here’s a complete breakdown of all terms, definitions, and key concepts for each Big Idea (1–5) from the AP Computer Science Principles (CSP) College Board curriculum. It’s organized in a study-friendly way—perfect for review, notes, or a study blog.
💡 Big Idea 1: Creative Development
🧩 Key Terms & Definitions
Term | Definition |
---|---|
Program | A collection of instructions that performs a specific task when executed by a computer. |
Algorithm | A step-by-step procedure used to solve a problem or perform a task. |
Program Development Life Cycle | Stages including planning, coding, testing, and maintaining a program. |
Iterative Development | Making improvements through repeated cycles (loops) of testing and feedback. |
Collaboration | Working with others to plan, design, and develop software more efficiently. |
Incremental Development | Adding small portions of code step-by-step and testing as you go. |
Pair Programming | A collaborative practice where two programmers work together on one workstation. |
Documentation | Written description or comments in code to help others understand its purpose. |
💡 Big Idea 2: Data
🧩 Key Terms & Definitions
Term | Definition |
---|---|
Data | Facts and statistics collected for reference or analysis. |
Metadata | Data about data (e.g., file size, date created). |
CSV File | A common format for storing tabular data using commas. |
Cleaning Data | Fixing or removing incorrect, corrupted, or incomplete data. |
Data Abstraction | Representing data in a simplified form (e.g., lists, tables). |
Pattern Recognition | Identifying recurring trends or regularities in data. |
Data Bias | When collected data unfairly represents a population or situation. |
Crowdsourcing | Collecting data or solutions from a large group of people (often online). |
Lossless Compression | Reducing file size without losing any information. |
Lossy Compression | Reducing file size by removing some data (e.g., JPEG). |
💡 Big Idea 3: Algorithms and Programming
🧩 Key Terms & Definitions
Term | Definition |
---|---|
Variable | A named storage location in memory that holds a value. |
Assignment Statement | Stores a value in a variable (x ← 5 ). |
Input | Data provided to the program (keyboard, file, etc.). |
Output | Data sent out from the program (screen, file, etc.). |
Expression | A combination of variables, values, and operators that produce a result. |
Boolean Expression | An expression that evaluates to true or false . |
Conditional Statement | Executes different code based on a boolean expression (e.g., if...then ). |
Iteration (Loop) | Repeats a section of code (e.g., repeat , while , for ). |
List (Array) | A collection of elements stored under one name. |
Index | A number that refers to an element’s position in a list (starting at 1 in pseudocode). |
Procedure (Function) | A set of instructions that performs a task and can be reused. |
Parameters | Inputs passed to a procedure to customize its behavior. |
Return | Sends back a result from a function to the caller. |
Abstraction | Hiding complexity by using named functions or data structures. |
Linear Search | Checking each element in a list one at a time. |
Binary Search | Efficient search on a sorted list by repeatedly dividing the list in half. |
Algorithm Efficiency | A measure of how fast or memory-efficient an algorithm is. |
💡 Big Idea 4: Computer Systems and Networks
🧩 Key Terms & Definitions
Term | Definition |
---|---|
Computer Network | A group of interconnected computers for sharing data. |
IP Address | A unique identifier for a device on a network. |
Packet | A small chunk of data sent over a network. |
Routing | The process of sending data packets between devices across networks. |
Router | A device that directs packets between different networks. |
Fault Tolerance | A system’s ability to continue operating even when some parts fail. |
Redundancy | Duplication of critical components to increase reliability. |
DNS (Domain Name System) | Converts domain names (e.g., google.com) to IP addresses. |
HTTP/HTTPS | Protocols used to transfer web pages over the internet (secure with HTTPS). |
SSL/TLS | Encryption protocols that secure communication over the web. |
Phishing | Attempting to trick users into providing private info. |
Malware | Malicious software designed to damage or disrupt systems. |
Firewall | Security system that controls traffic between trusted and untrusted networks. |
Symmetric Encryption | The same key is used to encrypt and decrypt data. |
Asymmetric Encryption | Uses a public and private key pair for secure communication. |
💡 Big Idea 5: Impact of Computing
🧩 Key Terms & Definitions
Term | Definition |
---|---|
Computing Innovation | A new idea or product that uses computing to solve problems or improve lives. |
Crowdsourcing | Using large groups of people (usually online) to gather input or solve problems. |
Digital Divide | Unequal access to technology across different groups or regions. |
Bias in Computing | When systems unfairly favor or disadvantage certain groups. |
Intellectual Property | Creations of the mind (e.g., software, writing) protected by copyright. |
Open Source | Software that is freely available and can be modified by anyone. |
Creative Commons | A licensing system that allows creators to give permission for others to use their work. |
Fair Use | Legal use of copyrighted material without permission under certain conditions. |
Ethical Computing | Considering the moral implications of software and technology use. |
Accessibility | Designing technology that can be used by people with a wide range of abilities. |
Privacy | The right of individuals to control their personal data. |
Data Collection | The gathering of user information, often used by apps and websites. |
Data Storage | Saving user or system data, which may involve privacy and security concerns. |