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
Prerequisites
Synopsis
This unit builds on the concepts learnt in introductory algorithms and data structures study. It covers advanced algorithmic paradigms and problem-solving techniques required to address real-world programming challenges. It explores, in depth, the design and analysis of space-efficient data structures and time-efficient problem solving strategies to be used with them. Topics include amortized analysis, advanced sorting and searching algorithms, new tree/string/graph data structures and algorithms, and number-theoretic algorithms amongst others.
Outcomes
At the completion of this unit, students should be able to:
- analyse efficient data structures and effective algorithmic paradigms;
- design and implement efficient algorithms and data structures for use on large data sets;
- apply advanced algorithms and data structures to tackle complex computational problems;
- prove the correctness of programs and reason about their space and time complexities.
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 lectures weekly
- Two hours laboratories weekly
- One hour tutorial fortnightly
- Additional requirements (all students):
- A minimum of 8 hours independent study per week for completing lab and project work, private study and revision.
See also Unit timetable information