6 points, SCA Band 2, 0.125 EFTSL
Undergraduate - Unit
Refer to the specific census and withdrawal dates for the semester(s) in which this unit is offered.
This unit introduces students to problem solving concepts and techniques fundamental to the science of programming. In doing this it covers problem specification, algorithmic design, analysis and implementation. Detailed topics include analysis of best, average and worst-case time and space complexity; introduction to numerical algorithms; recursion; advanced data structures such as heaps and B-trees; hashing; sorting algorithms; searching algorithms; graph algorithms; and numerical computing.
At the completion of this unit, students should be able to:
- analyse general problem solving strategies and algorithmic paradigms, and apply them to solving new problems;
- prove correctness of programs, analyse their space and time complexities;
- compare and contrast various abstract data types and use them appropriately;
- develop and implement algorithms to solve computational problems.
Examination (2 hours): 60%, In-semester assessment: 40%
Minimum total expected workload equals 12 hours per week comprising:
- Contact hours for on-campus students:
- Two hours of lectures
- One 3-hour laboratory/tutorial
- Additional requirements (all students):
- A minimum of 7 hours of independent study per week for lab preparation and reading.
See also Unit timetable information
This unit applies to the following area(s) of study