Teaching -> Data Structures
Duration: Approximately 30 lecture hours
Prerequisites: Knowledge in Java programming and object-oriented programming
Course contents:
- Abstract data types and structures
 - Complexity
 - Best, worst and average cases
 - Recursions
 - Arrays
 - Simple sorting: bubble sort, selection sort and insertion sort;
 - Linked lists, stacks and queues
 - Binary trees
 - Red-black trees
 - 2-3-4 trees and external storage
 - Advanced sorting: Shell sort, quick sort, merge sort, heap sort and radix sort;
 
Objectives:
- To introduce various data structures, their computer representations and associated algorithms.
 - To investigate the running time of an algorithm.
 
Method of assessments:
- Continuous assessments - 40%
 - Final examination - 60%
 
Attendance:
- Only those who satisfy the requirement of attendance (at least 80%) at lectures are allowed to sit the end of semester examination.
 - Students who misbehave in the class will be asked to leave the class. If a student is asked to leave a lecture, this will count as an absence.
 
Recommended reading:
- Data Structures and Algorithms in Java (Second edition), Robert Lafore, SAMS, 2003.
 - Data Structures with Java (Second edition), John R. Hubbard, Schaum's Outlines, 2007.