An introduction to the design and analysis of algorithms. Topics include: recurrence relations, sorting and searching, divide-and-conquer, dynamic programming, greedy algorithms, NP-completeness.
Textbook
Introduction to Algorithms (3rd Edition) by Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein (2009). ISBN 0-262-03384-4. Published by MIT Press.
Grading
Assignments (3): 10% each, Midterm: 20%, Final Exam: 50%
Policies
Late assignments will not be accepted. Students are encouraged to collaborate on assignments, but at the level of discussion only. When writing down the solutions, students must do so in their own words.