MCQ second review
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.
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.