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
Dynamic Programming and Greedy Algorithms 15, 16
Mergeable Heaps 19
Disjoint Set Data Structures 21
Graph Algorithms 22, 23, 24
Parallel Algorithms 27
Fast Fourier Transform 30
RSA Algorithm 31
String Searching 32
I have tentatively scheduled the two midterm exams for Friday, Oct. 15 and Friday, Nov. 5. The final will be on Nov. 21 at 11: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, Third 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 8:30-9:40 MWF, 3:00-3:45 MWF and 1:30-3:45 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.