Search for contacts, projects,
courses and publications

Algorithms & Complexity

People

Papadopoulou E.

Course director

Junginger S. K.

Assistant

Description

Algorithms are fundamental to computer science. They are the essence of computer programs and they lie at the core of any software system. This course will cover fundamental techniques for designing efficient computer algorithms, proving their correctness, and analyzing their performance. The contents include greedy algorithms, divide and conquer algorithms, dynamic programming, network flow, NP completeness and computational intractability, approximation algorithms, and randomized algorithms. Techniques on algorithm design and analyisis will be developed by drawing on problems from across many areas of computer science and related fields.

 

REFERENCES

  • Algorithm Design; J. Kleinberg and E. Tardos, Addison-Wesley 2005 Useful reference (not required): Introduction to Algorithms, (3rd Edition), by T. Cormen, C. Leiserson, R. Rivest, and C. Stein, McGraw Hill, 2009.

Education