Skip to main content

Unit information: Algorithms II in 2020/21

Unit name Algorithms II
Unit code COMS20010
Credit points 10
Level of study I/5
Teaching block(s) Teaching Block 1 (weeks 1 - 12)
Unit director Dr. Lapinskas
Open unit status Not open

COMS10017 Object-Oriented Programming and Algorithms I

COMS10014 Mathematics for Computer Science A and COMS10013 Mathematics for Computer Science B



School/department Department of Computer Science
Faculty Faculty of Engineering


This unit aims to provide a solid foundation in the theory of computation, algorithms and data structures.

Intended learning outcomes

On successful completion of this unit, students will:

  1. Be able to understand and apply the most common algorithmic design paradigms.
  2. Recall, and be able to reason about, standard examples of these paradigms.
  3. Understand the foundations of asymptotic analysis and know how to prove the correctness of algorithms.
  4. Recall the basic theory of directed and undirected graphs, and be able to apply graphs to formulate and solve algorithmic problems.
  5. Know what it means for a problem to be NP-hard, and be able to prove that a problem is NP-hard.

Teaching details

Teaching will be delivered through a combination of synchronous and asynchronous sessions, including lectures, practical activities supported by drop-in sessions, problem sheets and self-directed exercises.

Assessment Details

10% in-class tests, 90% January timed assessment

Reading and References

Kleinberg, Jon and Tardos, Éva, Algorithm Design (Pearson Education, 2013) ISBN: 978-1292023946

Cormen, Thomas H. et al, Introduction to Algorithms (MIT Press, 2009) ISBN: 978-0262033848

Dasgupta, Sanjoy, Papadimitriou, Christos and Vazirani, Umesh, Algorithms (McGraw-Hill, 2006) ISBN: 978-0077388492