CMSC 510 -
Algorithms and Data Structures
CMSC 510 along with CMSC 270 forms a two term sequence focusing on data structures and algorithms. The goals of this course are to introduce you to more advanced techniques of algorithm analysis, focus seriously on recursion as a problem-solving technique, and complete the survey of core data structures and algorithms of computer science begun in CMSC 270.
After each section I will be assigning a mix of programming problems and problem sets. In addition to the weekly assignments, we will have two midterm exams and a final.
Proof of Correctness Handout
Algorithm Analysis 2, 3, 4
Sorting Algorithms 6, 7, 8
Review of Recursion Handout
Dynamic Programming and Greedy Algorithms 15, 16
Mergeable Heaps 19, 20
Disjoint Set Data Structures 21
Graph Algorithms 22, 23, 24
Sorting Networks 27
String Searching 32
Computational Geometry 33
I have tentatively scheduled the two midterm exams for Monday, Feb. 9 and Friday, March 6. The final will be on March 17 at 8:30 AM.
This is how the grades will break down:
Weekly assignments 40%
Two midterms 15% each
Final 30%
The due dates for assignments will be announced when each assignment is handed out. The penalty for late assignments is 5% off for every 24 hours past due.
The text is Introduction to Algorithms, Second Edition by Corman, Leiserson, Rivest, and Stein.
The course web site is at www.lawrence.edu/fast/greggj/cmsc510.html
My office hours this term are 1:50-3:30 MWF and 1:30-3:30 TTh. My office is 413 Briggs; the phone number there is x6736. E-mail is also a good way to reach me for answers to simple questions. Send mail to greggj@lawrence.edu.