MCQ
MCQ
MCQ Reflection - AP Computer Science Principles
Final Score: 58/67
Overview
This multiple-choice test was a comprehensive assessment of my knowledge in AP Computer Science Principles. It covered key topics such as algorithms, data representation, Internet security, and program logic. I performed well, but there were a few small mistakes that I could improve on.
Performance Breakdown
I answered 58 out of 67 questions correctly. The majority of my errors were due to minor misinterpretations or slight misunderstandings of certain topics.
Topics I Excelled In:
- Algorithms & Logic: Successfully solved problems related to loops, conditions, and simulations.
- Internet & Security: Answered all questions on secure data transmission, protocols, and phishing scenarios correctly.
- Data Representation: Converted between binary and decimal, interpreted bit sequences, and understood metadata.
Areas for Improvement:
- Citizen Science & Crowdsourcing (Missed Q2, Q53): I need to review how large-scale data collection is used in research.
- Flowchart Interpretation (Missed Q23): Spent too much time (23+ minutes) on this, showing I need to improve efficiency.
- Algorithm Design (Missed Q14, Q28, Q32): Some logic errors when analyzing pseudocode; I need to be more precise.
- Network Configurations (Missed Q43): Misinterpreted how redundant routing affects network stability.
Key Takeaways
- Time Management: I need to work on optimizing my time during the test, especially on flowchart-based problems.
- Review Edge Cases: Some errors were caused by small misinterpretations. I need to analyze questions more carefully.
- More Practice with Logic-Based Questions: Even though I understand programming concepts, some logic-based MCQs were tricky.
Next Steps
To improve for the AP exam, I plan to:
- Practice morealgorithm-related questions to strengthen my logic and debugging skills.
- Review Internet security and networking topics to ensure I fully understand routing and protocols.
- Use timed practice tests to improve my efficiency and answer flowchart-related questions faster.
Final Thoughts
Overall, I’m proud of my score, but I know there are areas I can refine. This test was a valuable learning experience, and I’ll use these takeaways to prepare for the AP CSP exam.
Question Name | Topic | Skills | Time Spent | Results (pts.) |
---|---|---|---|---|
Multiply x by 3 inside a loop | 3.9 | 1.D | 00:59 | 1/1 |
Citizen science for wildlife research | 5.4 | 1.C | 06:57 | 0/1 |
Display red blue pattern | 3.8 | 2.B | 01:19 | 1/1 |
Cause of overflow error | 2.1 | 1.D | 02:16 | 1/1 |
Inputs to logic circuit | 3.5 | 2.B | 06:04 | 1/1 |
Correctness of robot programs | 3.9 | 1.D | 01:48 | 1/1 |
Advantages of flight simulation | 3.16 | 1.D | 00:50 | 1/1 |
Best practices in program development | 1.3 | 1.B | 00:54 | 1/1 |
Transmit private data securely | 5.6 | 5.E | 00:42 | 1/1 |
Science museum tickets | 3.7 | 2.B | 00:42 | 1/1 |
Color represented by binary triplet | 2.1 | 2.B | 01:15 | 1/1 |
Binary representation of indigo | 2.1 | 2.B | 00:56 | 1/1 |
Information determined by library system | 2.3 | 5.B | 00:47 | 1/1 |
Print digits algorithm | 3.3 | 4.B | 03:49 | 0/1 |
Compare output of program a and b | 3.9 | 1.D | 01:41 | 1/1 |
Error in wordList traversal | 1.4 | 4.C | 01:59 | 1/1 |
Data represented by bit sequences | 2.1 | 3.C | 00:34 | 1/1 |
Algorithm to move robot to goal | 3.8 | 2.B | 00:48 | 1/1 |
Observe user growth | 2.3 | 5.B | 01:19 | 1/1 |
Average amount of data per user | 2.3 | 5.B | 01:43 | 1/1 |
File size distribution | 2.3 | 5.B | 01:14 | 1/1 |
Simulate spinner | 3.15 | 2.B | 01:50 | 1/1 |
Flowchart to set available | 3.9 | 1.D | 23:53 | 0/1 |
Count by twos 10 times | 3.8 | 4.B | 01:23 | 1/1 |
How Internet facilitates large scale communication | 4.1 | 5.A | 30:24 | 1/1 |
Metadata for an image | 2.3 | 5.B | 00:18 | 1/1 |
Existence of unsolvable problems | 3.18 | 1.A | 00:58 | 1/1 |
Swap alpha and beta | 3.1 | 4.B | 01:48 | 0/1 |
Lossless compression scenario | 2.2 | 1.D | 01:31 | 1/1 |
Which value cannot be displayed in selection | 3.7 | 4.B | 02:02 | 0/1 |



AP CSP Multiple-Choice Reflection: Citizen Science Question
My Original Answer: A ❌
I initially chose A: "Distributed individuals are likely to be more accurate in wildlife identification than the research team." I thought that crowdsourcing the analysis would improve accuracy, assuming that more people analyzing the data would lead to better results.
Correct Answer: D ✅
The correct answer was D: "The image analysis is likely to take a longer time for the research team than for a distributed group of individuals."
This is correct because citizen science distributes the workload among many people, allowing the image analysis to be completed faster than if a small research team had to do it alone. While individual accuracy might vary, the collective effort significantly reduces the time required for analysis.
How I Can Improve Next Time
- Focus on the core benefit of citizen science: It’s not about accuracy but about distributing tasks to speed up the process.
- Eliminate wrong answers strategically: A small research team is likely more accurate than untrained individuals, so A was unlikely to be correct.
- Think about efficiency vs. accuracy: If a question asks about improving workflow, it’s usually referring to efficiency, not just correctness.

AP CSP Multiple-Choice Reflection: Algorithm Step Missing
My Original Answer: A ❌
I initially chose A: "Display the remainder of number
divided by 10 and store the remainder in number
." I misunderstood how the variable number
should be updated within the loop.
Correct Answer: B ✅
The correct answer was B: "Display the remainder of number
divided by 10 and store the integer quotient in number
."
This is correct because storing the integer quotient ensures that each digit is removed one by one from right to left. The remainder represents the rightmost digit, and by continuously dividing by 10 and updating number
, we correctly extract and display each digit in reverse order.
How I Can Improve Next Time
- Carefully track variable updates: Understanding how
number
is modified during each iteration is crucial for step-based algorithm problems. - Think about the desired output: The goal was to extract digits from right to left, which means the quotient had to be stored back into
number
. - Verify loop conditions: Step 4 required repeating the process until
number
became 0, meaningnumber
needed to shrink after each iteration.

AP CSP Multiple-Choice Reflection: Flowchart Algorithm
My Original Answer: A ❌
I initially chose A: "available ⟵ (weekday OR (miles < 20))" because I mistakenly thought that if weekday
was true or miles
was less than 20, available
should be set to true.
Correct Answer: D ✅
The correct answer was D: "available ⟵ (weekday AND (miles < 20))"
This is correct because the flowchart follows a logical AND condition where both weekday
must be true and miles
must be less than 20 for available
to be set to true. If either condition fails, available
is set to false.
How I Can Improve Next Time
- Break down conditional logic step by step: Instead of rushing, I should analyze how each decision block affects the final output.
- Focus on logical operators: Understanding the difference between AND (&&) and OR (||) is crucial in flowchart-based questions.
- Trace possible inputs: Testing different values for
weekday
andmiles
could have helped confirm the correct answer.

AP CSP Multiple-Choice Reflection: Swapping Variables
My Original Answer: D ❌
I initially chose D: "I, II, and III" because I assumed that all three methods successfully swapped the values of alpha
and beta
using a temporary variable.
Correct Answer: C ✅
The correct answer was C: "II and III only"
This is correct because only sequences II and III correctly swap the values of alpha
and beta
. Sequence I does not work correctly because it mistakenly assigns temp
back to alpha
after updating beta
.
How I Can Improve Next Time
- Carefully track variable assignments: When swapping values, I should follow the step-by-step logic of each assignment to avoid incorrect conclusions.
- Use a mental or written test case: Assign example values (e.g.,
alpha = 5
,beta = 10
) and manually track how they change through each step. - Ensure correct use of the temporary variable: The temp variable must store an original value before being overwritten to prevent data loss.

AP CSP Multiple-Choice Reflection: Conditional Statements & Output Values
My Original Answer: A ❌
I initially chose A: "too high" because I assumed that the program could display this value based on the given conditions.
Correct Answer: D ✅
The correct answer was D: "out of range"
This is correct because the conditional logic ensures that any negative value of n
is converted into a positive value before further comparisons occur. Since out of range
is only displayed for n < 1
, and the program guarantees that n
will always be 1 or greater, this output is never possible.
How I Can Improve Next Time
- Trace variable changes carefully: Since
n
is modified before evaluation, I should have tracked how its value is affected step by step. - Analyze condition paths fully: By following each possible
if-else
path, I can determine which outputs are truly possible. - Test boundary cases: Checking extreme values, such as negative numbers or very high values, helps verify what outputs can be displayed.