DATA STRUCTURES AND ALGORITHMS II
2018/2019, Semester 1
School of Computing (Computer Science)
Modular Credits: 4
I can analyze the requirements to a problem and know when to use binary heap/balanced binary search tree to solve the problem.
I know how to augment binary heap/balanced binary search tree so as to perform additional operations on them efficiently.
I am able to implement Binary Heaps and AVL Trees and their associated operations to solve real life problems in Java.
I am able to analyze the specifications of a given problem and come up with the required graph to model it and/or graph algorithms (MST, SSSP, SSLP, bottom-up DP algorithms) to solve it.
I am able to implement graph data structures (adjacency matrix, adjacency list, edge list) and algorithms on them (MST, SSSP algorithms) to solve real life problems in Java.
CS1020 or CS1020E or CG1103 Data Structures and Algorithms I
Lecture: Fridays 12:00-14:00 in COM1-0206
Labs: To be announced
Tutorials: To be announced
Final Assessment: Morning, Thursday 6 December 2018, 9-11 am, SR1
This module is the third part of a three-part series on introductory programming and problem solving by computing. It continues the introduction in CS1010 and CS1020, and emphasizes object-oriented programming with application to complex data structures. Topics covered include trees, binary search trees, order property, prefix/infix/postfix expressions, heaps, priority queues, graphs and their algorithmic design, recursive algorithms, problem formulation and problem solving with applications of complex data structures, data structure design principles and implementation strategies, and algorithm analysis.
Tutorial+Lab attendance/participation:6% (3+3)
Problem Sets: 24%
2 Written Quizzes (open book+calculator): 20% (14+6)
2 Online Quizzes (open book+calculator): 10% (5+5)
Final Exam (open book+calculator): 40%
CS2020, CS2030, CS2040, CS2040C
Workload Components : A-B-C-D-E
A: no. of lecture hours per week
B: no. of tutorial hours per week
C: no. of lab hours per week
D: no. of hours for projects, assignments, fieldwork etc per week
E: no. of hours for preparatory work by a student per week