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 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.
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.
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 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