MC Improvement
At the start of the trimester, I scored a 66% (44/66) on my CSP practice exam, but by the end, I improved to a 77% (49/67). Over the course of the trimester, we worked on coding exercises, problem-solving strategies, and AP-style questions, which really helped me understand the concepts better. Practicing algorithms, debugging, and breaking down complex problems made a big difference in my confidence and accuracy. Looking back, all the class activities and discussions definitely played a huge role in my improvement!
Feature: Notification System CPT Language
Description
A web-based system that allows users to send and receive notifications.
Functionality
- Send Notifications: Users enter a message and select a recipient from a dropdown list.
- Fetch Users: The recipient list is dynamically populated from the
/api/users/id-name
endpoint. - Submit & Store Notifications: Messages are sent to
/api/notification
via a POST request. - Display Notifications: Retrieves and lists messages from
/api/notifications
. - Bouncing Emoji Effect: A floating 🎄 emoji moves around the screen for a fun touch.
Technologies Used
- Frontend: HTML, CSS, JavaScript (Fetch API, DOM Manipulation)
- Backend API Endpoints:
GET /api/users/id-name
→ Fetches users.POST /api/notification
→ Sends a notification.GET /api/notifications
→ Retrieves notifications.
Features
- Styled Interface: Red-themed design with interactive buttons.
- Live Updates: Refreshes notifications after sending a message.
- Error Handling: Alerts users if something goes wrong.
Possible Improvements
- Real-time Updates: Use WebSockets for instant notifications.
- User Authentication: Ensure only authorized users can send messages.
Incorrect Answers, and Corrections
Q6 Correctness of robot programs - I got this question wrong because I thought only one of the program was correct but both actually reach the gray square. The correct answer is C which I reevaluated after getting it wrong.
Q14 Print digits algorithm - I got this question wrong because I didn’t recognize that displaying the remainder and updating the number is important for processing each digit correctly. The correct answer is B which I reevaluated after getting it wrong.
Q15 Compare output of program a and b - I got this question wrong because the way the programs were set up was confusing and since both programs end up displaying the same numbers, the order of initialization and incrementing is different. The correct answer is A which I saw after getting it wrong.
Q18 Algorithm to move robot to goal - I got this question wrong because I didn’t fully consider how the robot checks for movement before acting which lead me to the wrong answer. The correct answer is D which I saw after getting it wrong.
Q19 Observe user growth - I got this question wrong because I misintrepreted the graphs which gave me the wrong result. The correct answer is A which I saw after getting it wrong.
Q21 File size distribution - I got this wrong because the files that are at least 100 KB in size only measure for 59% of the total files not over 75%. The correct answer is B.
Q22 Simulate spinner - I got this wrong because the code in Answer A shows a spinner where the three outcomes are the same. The right answer is D.
Q28 Swap alpha and beta - I got it wrong because Code Segment two is wrong since the inital value of alpha is saved to temp so then alpha is assigned to beta but the value of beta is lost so it doesn’t swap. The right answer is B.
Q34 BotMover - I got it wrong because it doesn’t properly move the robot along the correct path. The correct answer is B.
Q37 DrawLine on a coordinate grid - I got it wrong because answer c doesn’t update the endX right and it only adjusts endY without changing the starting point for each new line. The right answer is A.
Q39 Error in calculating sum - I got this wrong because answer B changes the loop condition in a way that doesn’t solve the issue. The correct answer is C.
Q42 Determine if score is within ten points of target - I got it wrong because Answer A doesn’t have the correct range. The correct answer is D.
Q43 Redundant routing on network configuration - I got this wrong because the answer in #B it wasn’t fully recognizing that both configurations allow for multiple paths between devices Q and V. The correct answer is C.
Q45 Coin flip simulation - I got this wrong because answer A doesn’t simulate the behavior of the game correctly. The right answer is C.
Q50 Reasonable time algorithms - I got this wrong because I forgot about Algorithm three, since it runs in constant time which is the most fastest of the three. The correct answer is D.
Q52 Bacteria population simulation - I got this wrong because the program doesn’t calculate the average change in population per hour, it only calculates the total change in population, which makes statement two wrong. The correct answer is A.
Q56 Compare execution times of two versions - I got this wrong because version two takes more time since it calls get prediction more. The right answer is D.
Q66 Error in counting perfect numbers - I got this wrong because I selected line 8 to remove where it seems like the second count occurs, but in reality Line 5 is the one that causes the issue. The right answer is A.
Areas for Improvement in AP CSP
1. Algorithm Analysis & Execution (Big Idea 4 - Algorithms & Programming)
- Understanding how algorithms process data (Q14, Q15, Q39, Q50, Q56).
- Debugging errors in program logic, especially with conditions and loops (Q28, Q39, Q66).
- Recognizing efficiency differences in algorithms and execution time (Q50, Q56).
2. Understanding Program Behavior (Big Idea 4 - Algorithms & Programming)
- Evaluating how variables change during execution (Q14, Q15, Q28).
- Recognizing how simulations should behave based on the given code (Q22, Q45, Q52).
3. Robot Movement & Logical Reasoning (Big Idea 4 - Algorithms & Programming)
- Interpreting how robots navigate and process movement instructions (Q6, Q18, Q34).
4. Data Representation & Interpretation (Big Idea 3 - Data & Information)
- Correctly analyzing graphs, patterns, and statistics (Q19, Q21, Q52).
5. Networking & Systems (Big Idea 6 - The Internet)
- Understanding redundancy and network configurations (Q43).
6. Problem-Solving Strategies
- Carefully checking answer choices against expected behaviors (Q37, Q42).
Suggested Improvements:
- Practice tracing code execution step-by-step.
- Test simulations and algorithm performance.
- Use flowcharts or pseudocode to check logic before answering.