True wisdom comes to each of us when we realize how little we understand about life, ourselves, and the world around us - Socrates

Data Structures

Teaching -> Data Structures

Duration: Approximately 30 lecture hours

Prerequisites: Knowledge in Java programming and object-oriented programming

Course contents:
  1. Abstract data types and structures
  2. Complexity
  3. Best, worst and average cases
  4. Recursions
  5. Arrays
  6. Simple sorting: bubble sort, selection sort and insertion sort;
  7. Linked lists, stacks and queues
  8. Binary trees
  9. Red-black trees
  10. 2-3-4 trees and external storage
  11. 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.