Overall Reflection:

Compared to the CollegeBoard Practice MC Exam that I took at the end of the previous trimester (where I got a 62/66), this one was much more challenging than I expected, and the results pretty much speak for themselves. I was still happy to get over a 50, but I tried my best to focus on accuracy, and not time. Eventually, time will definitely play a big factor in the real exam, but I considered this as just a practice to evaluate how well I could answer the questions.

To my surprise, the questions were extremely diverse, and came from a huge variety of CollegeBoard topics, which made it quite difficult for me.

For some of the programming questions that required extensive critical thinking, I decided to check my answer by translating the pseudocode into Python on an online compiler, since I already knew the basics of Python.

(NOTE: Please zoom in to see the pictures in detail. I’m not sure why they appeared to be pretty small.)



At first I thought it would be a piece of cake and there should be no problem. I expected a score of at least 61, but now I realized that there is still scope for improvement. Some of the times I was just not careful, other times I just didn’t understand the concept to its fullest extent.



Q2
“Citizen Science” still felt like an unfamiliar term despite seeing it in the previous CollegeBoard MC, so I had to look it up.
The answer cannot be A because distributed individuals don’t have as much skill as the research team, leading to less accurate data. It should be D because there are fewer members than the distributed individuals.



Q4
The answer cannot be D because else statement will cause it to output the wrong value for people who are both over 12 and are on a guided tour. Instead of displaying 10 it will display 8, so B should be the correct answer.



Q16
The answer cannot be B because the program is set to run at the end of the list and work its way to the beginning of the list, meaning that the variable “index” cannot be incremented. Instead, it should be decremented, so D should be the correct answer.



Q28
The answer cannot be D because in the second code segment, beta and temp are both assigned the value of alpha, and when it’s run, the value of beta will become the value of alpha, but the value of alpha will not change, which will output the same number. Therefore code segment 2 is wrong, so the correct answer should be B.



Q33
The answer cannot be B because you can just multiply the average assignment score with the number of assignments to get the total score. If you subtract the sum of scores after dropping the lowest score from the sum of scores before dropping the lowest score, you can find the lowest assignment score easily. Instead, it’s impossible to find the highest assignment score, because only the lowest assignment score is getting dropped, hence the correct answer should be A.



Q39
The answer cannot be B because that will cause the loop to run only 9 times when we want it to run 10 times. Instead, lines 5 and 6 should be swapped because for every loop, the sum needs to be computed before the iterative variable increments. Hence, the correct answer should be C.



Q50
The answer cannot be B because all algorithms will run in reasonable time. Algorithm I accesses 2n elements since it access each element in the list twice, making it run in a resonable amount of time. Similarly, Algorithm II accesses n2 elements since it accesses each element n number of times, which also makes it run in a reasonable amount of time. All three algorithms run in a reasonable amount of time, hence the correct answer should be D.



Q56
The answer cannot be C because in Version 1, “GetPrediction” is called only once, but in Version 2 it’s called more than twice, making it more than two minutes slower than Version 1, hence the correct answer should be D.



Q58
The answer cannot be A because “bat” is not equal to “cat” and the else statement will be run to check if “cat” is equal to “rat” and it outputs the correct value of “false”. However, in option C, there are two “bat”s and “one” cat, but it will output false, as the two “bat”s are not next to each other. Hence, the correct answer should be C.



Q60
The answer cannot be C because the fourth line of code is essentially adding the lengths of both the new lists, and subtracting the total length, which will return 0, resulting in the incorrect output. The correct answer should be D because it’s subtracting the length of bothList after removal of duplicates and bothList before removal of duplicates, which will return the correct value of “count”.


Q63
The answer cannot be D because the Quantity Available is necessary to compute the total amount of money earned if all science fiction books are sold. Instead, the title is not needed because there is already a genre column and the genre column will tell us better if a book is science fiction or not. Hence, the correct answers should be A and B.



Q65
The answer cannot be A because the second line of code is concatenating “lope” and “a” to form “lopea”, which outputs “jacklopea” and not “jackalope”. The correct answer should be B because the “a” comes before the “lope” after the concatenation, resulting in the correct output of “jackalope”. Therefore. the correct options are B and C.


Q66
For this one, I didn’t know what a perfect number was, so I had to google it, only to realize that it was not needed, because IsPerfect was already a function that was defined in the question.
The answer cannot be B because the variable “count” is supposed to be incremented at line 8 when currentNum is a perfect number, so line 8 must not be removed. The correct answer should be C because currentNum must be incremented just outside the if statement and within the loop so that the program can check each number sequentially, meaning that line 9 must be removed. Hence, the correct options are A and C.