**Winter 1998:**-
Midterm I (recurrences, sorting, selection)

Midterm II (graph algorithms, string matching, dynamic programming)

Final Exam (recurrences, average case analysis, spreadsheet application, computational geometry, approximation algorithms, NP-completeness).

**Spring 2005:**-
Midterm I (recurrences, sorting, selection, arithmetic)

Midterm II (graph algorithms, string matching, dynamic programming)

Final Exam (recurrences, sorting, graph algorithms, dynamic programming, computational geometry, approximation algorithms, NP-completeness).

**Fall 2015**-
Midterm I (data structures and sorting)

Midterm II (arithmetic, graph algorithms)

Final Exam (data structures, median-finding, arithmetic, graph algorithms, dynamic programming, approximation algorithms, computational geometry).