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.
Faculty
Chief examiner(s)
Unit guides
Offered
- First semester 2018 (On-campus)
- Second semester 2018 (On-campus)
- First semester 2018 (On-campus)
- Second semester 2018 (On-campus)
Synopsis
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.
Outcomes
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.
Assessment
Examination (2 hours): 60%, In-semester assessment: 40%
Workload requirements
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