Faculty of Information Technology

print version

6 points, SCA Band 2, 0.125 EFTSL

Postgraduate - Unit

Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.


Information Technology

Unit guides



  • First semester 2017 (Day)
  • Second semester 2017 (Day)


This unit introduces students to problem solving concepts and techniques fundamental to the science of programming. It covers data types; data structures; algorithms; algorithmic complexity; and recursion. Detailed topics include analysis of best and worst-case time complexity; data structures such as lists, stacks, queues, binary search trees, graphs and heaps; hashing; sorting algorithms; searching algorithms; and graph algorithms. Students will implement these algorithms and data structures in the Python programming language.


At the completion of this unit, students should be able to:

  1. design and implement simple algorithms in Python;
  2. implement basic data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables;
  3. compare and evaluate different algorithms and implementations of basic data types;
  4. calculate best case and worst case big-O algorithm complexity.


Examination (2 hours): 50%; In-semester assessment: 50%

Workload requirements

Minimum total expected workload equals 12 hours per week comprising:

(a.) Contact hours for on-campus students:

  • Two hour lectures
  • One hour tutorial
  • Two hour laboratory

(b.) Additional requirements (all students):

  • A minimum of 7 hours of personal study per week in order to satisfy the reading, lab and assignment expectations.

See also Unit timetable information

Chief examiner(s)