# AP CSP MCQ Retrospective & Improvement Plan
AP CSP MCQ Performance Chart
---

Performance Analysis

After reviewing my AP CSP Practice Exam 1 results, I have identified key areas of **strength** and **improvement**. My goal is to build on my strong foundation while improving weak areas to maximize my AP exam score.

---

Strengths: Areas Where I Excelled

  • Data Representation & Storage: Strong grasp on binary numbers, data compression, and using programs with data.
  • Control Structures & Algorithms: High performance in conditionals, loops, and algorithm development.
  • Networking & The Internet: Deep understanding of Internet structure, fault tolerance, and parallel computing.
  • Computing Ethics & Security: Mastery of computing bias, cybersecurity risks, and legal/ethical concerns.
---

Areas for Improvement

  • Debugging & Error Correction: Need to improve on identifying and fixing coding errors efficiently.
  • Library & API Usage: Struggled with utilizing built-in libraries and understanding documentation.
  • Algorithm Efficiency: Need to strengthen knowledge on Big-O notation and problem complexity.
  • Data Abstraction: Need to practice variable usage and function abstraction for cleaner, more efficient code.
---

Action Plan for Improvement

To improve before the final AP CSP exam, I am committing to the following steps:

  • **Targeted Debugging Practice:** Solve coding exercises that require finding and fixing logical errors.
  • **API Documentation Review:** Work with APIs like Python’s `math` and JavaScript’s `fetch()` to improve function usage.
  • **Algorithm Analysis:** Study Big-O notation and compare sorting/searching algorithms for efficiency.
  • **Refactoring Code:** Improve variable usage and abstraction in my projects to follow best coding practices.
---

Final Thoughts

This retrospective helped me recognize both my strengths and weaknesses. By focusing on **debugging, API usage, and algorithm efficiency**, I can ensure that I’m fully prepared for the AP CSP exam.

With **consistent practice and a strategic study plan**, I am confident that I can strengthen my understanding and **achieve a top score on the AP CSP Exam!**

Corrections

---

Logic Circuit Analysis

Question: The diagram below shows a circuit composed of three logic gates. Each gate takes two inputs and produces a single output. For which of the following input values will the circuit have an output of true?

Answer: C → A = false, B = true, C = true, D = true

Why: The OR gate will produce true, and the first AND gate will produce true. Since both inputs to the second AND gate are true, the circuit's output will be true.

---

Robot Movement Analysis

Question: Do Program I and Program II correctly move the robot to the gray square?

Answer: Both Program I and Program II correctly move the robot to the gray square.

Why: Both programs successfully navigate the robot through the grid using correct movements and rotations.

---

Code Correction

Question: A student wrote the following program to remove all occurrences of the strings "the" and "a" from the list wordList. What correction is needed?

Answer: Inserting index ← index - 1 between lines 7 and 8.

Why: This ensures that the index is decremented after checking each list element, avoiding skipping elements.

---

Binary Representation

Question: Which of the following can be represented by a sequence of bits?

Answer: An integer, an alphanumeric character, and a machine language instruction.

Why: All digital data is ultimately represented in sequences of bits.

---

Spinner Simulation

Question: Which of the following code segments can be used to simulate the behavior of the spinner?

Answer: C

Why: The code correctly models the probability distribution of the spinner outcomes.

---

Metadata Storage

Question: Which of the following is least likely to be stored as metadata for a black-and-white image?

Answer: A duplicate copy of the data

Why: Metadata typically describes the data rather than duplicating it.

---

Course Grade Calculation

Question: How can a student's course grade be calculated from individual assignment scores?

Answer: finalGrade = Sum(scores) - Min(scores); finalGrade = finalGrade / (LENGTH(scores) - 1)

Why: This method accounts for dropped lowest scores before calculating the average.

---

Simulation Complexity

Question: How does removing variables affect the runtime of a simulation?

Answer: The updated model is likely to decrease runtime.

Why: Simpler models require less computation, reducing runtime.

---

Binary Search Requirement

Question: What condition must be met for a binary search to work?

Answer: The values in numList must be in sorted order.

Why: A binary search requires a sorted list to function correctly.

---

Bit Allocation

Question: What is the minimum number of bits needed to assign unique sequences to 100 staff members?

Answer: 7 bits

Why: 7 bits allow for up to 128 unique sequences (2^7 = 128).

---

Algorithm Complexity

Question: Which of the following algorithms run in reasonable time?

Answer: I, II, and III.

Why: All three algorithms run in polynomial time, which is considered reasonable.

---

Execution Time Comparison

Question: How does the execution time compare between Version I and Version II?

Answer: Version II requires approximately 5 more minutes than Version I.

Why: Version II makes more calls to GetPrediction, increasing execution time from ~4 minutes to ~9 minutes.

The Feedback I Gave Others

- In total, I gave 6 reviews to 6 different teams after understanding what their projects were about.

Project Feedback 1
Project Feedback 2
Project Feedback 3
Project Feedback 4
Project Feedback 5
Project Feedback 6

Favorite Project

My favorite project was Prism by Yash due to the idea of creating a platform connecting people through a chatroom by matching individuals with similar interests. I also loved how they formatted their UX, making it intuitive and engaging.