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