CS1010 Advanced Placement Test (July 2021)
Taken in July 2021
Review
Test format
https://www.comp.nus.edu.sg/programmes/ug/exemptions/a-levels/
Online closed book test.
No compilers or IDEs.
No cheatsheets.
Non-programmable calculator and blank paper allowed.
Section A:
10 MCQs covering theory (such as algorithms or logical thinking)
Section B:
5 Fill-in-the-blank questions. Requires you to read through code snippets and answer what number will be printed out.
Section C:
5 Open-ended questions. Blindly write out the code to achieve the given scenario.
Opinions
Section A is mainly theory. Sequences, ranges, algorithms and logic.
For section B, it tests you on your understanding of code. This includes loops, recursive functions, and even pass-by-reference/pass-by-value. Some language specific knowledge are needed like mutable/immutable types like lists/tuples in Python. Since the code snippets are given in Java, C and Python, this section should be easier if you know multiple languages as you can cross check your answer. For example, I was not familar with Python ranges with negative steps, so I looked at the C code to figure that the for-loop was counting downwards instead.
For section C, the questions ranged from basic text / array manipulation, to recursive functions and data structure algorithms. I asked the paper setter prior to the test and he mentioned that library functions will be used "minimally". Indeed, everything can be done using your basic operators and just some basic standard math functions. He also said that small errors in syntax are not important as long as the logic is understandable to the marker. As I am using this APT to fulfill CS1010E, I am required to write everything out in Python. I feel the pain for those who need to write it out in Java or C, since Python codes tend to be more abstracted and easier to write out.
I feel that this placement test is not something that can be studied from zero to hero. I personally did not study for this and hoped for the best. In order to pass this, it is advantageous if you have a few years of experience in programming. Knowing basic data structure theory through experience should be enough, and I don't think the paper penalises you if you did not formally study it.
Grade
Expected result: Pass
Actual result: Pass
Comments
Post a Comment