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.
- 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:
- design and implement simple algorithms in Python;
- implement basic data types such as stacks, queues, lists, trees, priority queues, heaps and hash tables;
- compare and evaluate different algorithms and implementations of basic data types;
- calculate best case and worst case big-O algorithm complexity.
Semester 1: Examination (3 hours): 50%; In-semester assessment: 50%
Semester 2: Examination (2 hours): 50%; In-semester assessment: 50%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hour lectures
- One hour tutorial
- Two hour laboratory
- 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