Data Structures and Algorithms


The course is compulsory for students enrolled in the BSc (Computer Science) programme. It is also offered as an elective to other students from the School of Information Systems (SIS) of Singapore Management University (SMU). The first run of the course will commence in August 2020. Stay tuned for more details.

For an overview of the course, check out the following introduction slides that we used in the first week.



The course objective is to build fundamentals in solving problems using data structures, cognizant of efficiency concerns in terms of space and time. As far as an undergraduate course goes, it is rigorous and fast-paced, covering the following topics in 13 weeks.

    • Arrays and linked lists

    • Linear data structures

    • Algorithm analysis

    • Recursion

    • Trees

    • Sorted maps and balanced search trees

    • Unsorted maps and hashing

    • Heaps and priority queues

    • Graphs


The materials are substantially based on Data Structures and Algorithms in Java, 6th Edition by Michael T. Goodrich, Roberto Tamassia, Michael H. Goldwasser.

Teaching Team

AY2020/2021 Term 1
(Hady Lauw, Koh Kwan Chin, Le Trung Hoang, Hee Ming Shan, Claudia Chua Pei Si, Liu Ziyuan, Aldric Chong Kai Yuan)