Friday, 1 January 2016

CS1020E - Data Structures and Algorithms I

Type: Unrestricted Elective Module
Difficulty: Normal (Subjective)
Workload: Normal
Lecturer(s): A/P Tan Sun Teck
Assessment: Class Participation, Labs, Practical Exam and Finals

Disclaimer, this review may be slightly skewed because I am pretty experienced in programming.

CS1020E is the second module of a 3-part series of Data structures and Algorithms.
CS1010 -> CS1020 -> CS2010

I had found CS1010E a breeze because I was in competitive programming since my secondary school days. However, this jump in difficulty between this module and CS1010E was pretty huge. Even I was taken aback. Unlike the previous module, this one emphasizes on object oriented programming (OOP). The former module was mainly on functional programming. If you found CS1010E easy and you are considering this module, note that this is a very different ballgame altogether. I'd suggest that you read up on OOP and the C++ language before making your informed decision to take this up.

This series covered the basics of C++ language, abstract data types (stacks and queues), sorting, recursion and hashing. Unlike CS1010E, this module emphasizes on efficiency. That means that you are required to not only make it work, you will also have to devote a lot of brainpower into making your algorithm efficient. Often, the most obvious solution gives minimal credit because it is not efficient.

Midterms were pretty easy to score, as it comes in the form of MCQ. Class participation was easy, everyone just took turns to present your tutorial solutions for one session, and you will be awarded the marks.

The practical labs took up the main bulk of the assessment weightage. Don't be fooled by the easy first practical. The difficulty increases exponentially. Even I struggled to complete the practical labs on time. There are a total of 4 graded practical lab sessions altogether. In between graded practical labs, the lecturer releases around 3 practice questions, of which one is graded. I'd suggest that you do ALL 3 practice questions even though it is not graded, because it will definitely help you in the next practical assessment.

Finals was a closed book examination. Seriously speaking, even a book won't save you. While studying for this examination, it is advised that you understand the whole logic behind every topic, rather than memorize everything.

* A Hint: Do your tutorials, and if you do not understand anything, make sure that you consult someone ASAP. This is because the topics build upon each other, and if you fall behind, you are practically dead. Practice a lot! Do every single lab practice questions which the lecturer releases.

Expected Grade: A-
Achieved Grade: A+

No comments:

Post a Comment