Course page for CS2443 - Algorithms

Back to my teaching page

Syllabus (Approx):

Section I: Divide & Conquer, Sorting, and order statistics, Fast Fourier Transform and polynomial multiplication, randomized sorting and selection, closest pair-of-points algorithms.
Section II: Dynamic programming: Edit distance and other examples. Greedy algorithms: Huffman codes and other examples.
Section III: Graph algorithms: DFS, topological sorting, shortest path algorithms, maximum flow.
Other/optional topics: NP-completeness
Asymptotic notation: one two three four five six

References:

1. Introduction to Algorithms: Cormen, Leiserson, Rivest and Stein
2. Online lecture notes by Jeff Erickson
3. Algorithms by Dasgupta, Papadimitrou and Vazirani
4. Algorithm Design: Kleinberg and Tardos
5. The Algorithm Design Manual by Steven Skiena

Grading Policy:

Attendance: 5%, Programming Assignments: 15%
Exam 1: 20%, Exam 2: 20%, Exam 3: 40%
Attendance Policy:
5 marks for attending at least 14 classes, no marks otherwise.

Academic Honesty Policy