DATA STRUCTURES AND ALGORITHMS ACCELERATED
2011/2012, Semester 2
School of Computing (Computer Science)
Modular Credits: 6
is an accelerated course that provides a comprehensive introduction to algorithms and data structures. It is intended as a continuation of CS1010/CS1101s, combining CS1020 and CS2010 into a single fast-paced semester.
: The module will focus on the basic data structures and algorithms that lie at the core of computer science, and how they can be used to improve performance in real-world problems. Throughout the module, we will discuss how to model problems in different ways, and how differing strategies can yield very different performance characteristics. We will both analyze algorithms to better understand their asymptotic performance, and implement them in Java to understand the issues that arise in practice. The goal of this module is both to help you learn how to how to choose and use better data structures.
: The module is divided into 5 segments:
Arrays and linear data structures
Sorting and trees
Dynamic programming and other material
Wed & Fri 10am-12pm
Tentative Weights (6 MC):
Problem Sets (10)
Our policy is to work as hard as we can to give each student the final grade that they earn, and this will be the guiding principle behind the final grade assignment.
: Obtain a grade of at least A− in either CS1010 or CS1101S Programming Methodology.
: CG1102, CG1103, CS1020, CS1020E, CS2010, CS1102, CS1102C, CS1102S
CG1102, CG1103, CS1020, CS1020E, CS2010, CS1102, CS1102C, CS1102S
Advice from previous students
At the end of last year, I asked students to provide advice for future CS2020 students. Here is a selection of their responses:
Many students recommend it:
If you qualify for CS2020, definitely take it! [...] CS2020 makes you think about how to solve a problem in a manner you think that's best. No fixed answers, loads of flexiblity, great for learning.
If you like challenge, you should take it.
Work hard and enjoy the problems!
Take CS2020. Or die. xD
Students warn that CS2020 is hard:
Pain guaranteed, Fun too. Time Sink if you cannot draw away from fun stuff.
Try to work as hard as you can.
Make sure you can pick up concepts quickly.
Take it if you have the time to learn on your own [...]
[Give] a warning at the start of the module [that] things are gonna be really tough, and that students have until week x to decide whether to go for cs1020.
A trivial suggestion, but disclaimers would be good [indicating that problem sets can be very hard and time consuming].
First thing first, you are one of the best lecturers i've ever met in NUS. Excellent!
Prof. Gilbert is a very approachable lecturer, and his lectures
aren't too boring
, and I think he gets good points across.
It's a tough mod, but taught
and eloquent in explaining concepts.
I love the examples given during the lectures. It helps provide a clear pictorial view of what's going on, instead of lines after lines of code and/or mathematical formulations.