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.
Faculty
Chief examiner(s)
Unit guides
Synopsis
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.
Outcomes
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.
Assessment
Examination (2 hours): 50%; In-semester assessment: 50%
Workload requirements
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