CMSC 510 - Algorithms and Data Structures

 

What this course is about

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.

Structure of the course

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.

Topics and Chapters

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

Midterms

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.

Grading

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.

Course materials

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

Office hours

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.