Unit name | Advanced Algorithms (Teaching Unit) |
---|---|
Unit code | COMS30042 |
Credit points | 0 |
Level of study | H/6 |
Teaching block(s) |
Teaching Block 1 (weeks 1 - 12) |
Unit director | Dr. Clifford |
Open unit status | Not open |
Pre-requisites |
COMS10017 Object-Oriented Programming and Algorithms I or equivalent. COMS20010 Algorithms II or equivalent. Solid understanding of O-notation and recurrence relations, the “greedy”, “divide-and-conquer” and “dynamic programming” paradigms of algorithm design, proof by induction and contradiction, discrete probability. Previous exposure to pseudocode. A solid understanding of arrays, linked lists, and priority queues. |
Co-requisites |
COMS30041 Advanced Algorithms (10 credit exam assessment unit). |
School/department | School of Computer Science |
Faculty | Faculty of Engineering |
This unit gives an overview of recent advances in the design of algorithms and data structures. These fall into two broad categories.
First, we will cover algorithms and data structures for fundamental problems surrounding storing, recovering and searching within data. For these problems we will see that nearly optimal solutions are possible.
Second are optimisation problems where sometimes only exponential-time algorithms are known. We will discuss when these problems admit exact efficient solutions, and when only approximation is possible.
On successful completion of this unit, students will:
Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, problem sheets and self-directed exercises.
Teaching will take place over Weeks 1-7, with consolidation and revision sessions in Weeks 11 and 12.
January timed assessment (100%)
As well as the books listed below, there are excellent notes by Jeff Erickson that are freely available online.