UMBC CMSC 641, Design & Analysis of Algorithms, Spring 2004

Course Description


Introduction to Algorithms, second edition, Cormen, Leiserson, Rivest and Stein. McGraw-Hill.


An undergraduate course on algorithms is a prerequisite for this class. At UMBC, the undergraduate algorithms course (CMSC 441) uses the same textbook and typically covers Chapters 1-4 & Appendix A (Big-O notation, recurrences and summations), Chapters 6-9 (Heapsort, Quicksort, "linear-time" sorts and linear-time median algorithms), Chapter 15 (dynamic programming), Chapter 16 (greedy algorithms) and Chapters 22-25 (graph search algorithms, minimum spanning trees and shortest path algorithms). In addition hash tables and balanced binary trees are covered in CMSC 341 Data Structures.

There will be minimal overlap in the material covered in the CMSC 441 and CMSC 641. If your are not familiar with some of these topics, you must have enough preparation to review the material on your own. Note that the syllabus for the Ph.D. comprehensive exam contains topics that are covered more thoroughly in the undergraduate algorithms course (e.g., solving recurrences, dynamic programming).


The objective of this course is to prepare you to learn new algorithms --- either from the literature or by designing your own new algorithms. Thus, the course will have you: 1) master advanced algorithm analysis techniques, 2) practice designing "new" algorithms, 3) accumulate the background knowledge needed to read and understand algorithms published in research journals, and 4) develop the writing skills for clear and logical presentation of algorithms.


Your performance in this course will be based upon 12 homework assignments, 6 quizzes and one final exam. Each homework assignment is worth 3% of your grade, each quiz 6% and the final exam 28%. If a homework assignment or quiz is canceled and not made up (e.g., because school is closed for snow), the proportion of your grade from homework, quizzes and the final exam will remain the same. That is, homework will still count for 36% of your grade and quizzes 36% of your grade (each homework or quiz will have greater weight).


Quizzes will take place in the classroom during the last 30 minutes of the class period. Each quiz will have a single question on a pre-announced topic. As a rule, questions on the quizzes (and on the final exam) will be easier than the homework questions since you are expected to complete the questions in a limited time frame.

Homework Policy

You are encouraged to discuss the homework problems with your classmates. However, you must write up your solutions on your own --- i.e., without looking at other people's homework, other people's notes, your notes of other people's homework, your notes of other people's notes, ...

In general, homework must be submitted when they are due. This allows for timely discussion of the solutions and for the graded assignments to be returned before the quizzes. If you have an excusable absence (e.g., travel for work, conference attendance, medical illness), please make arrangements with the instructor as early as possible.


Questions about homework and lectures may be submitted by email. Please note that unless you request otherwise, the contents of your email message may be forwarded to the entire class --- especially if the question is a good question.

Last Modified: 26 Jan 2004 17:09:21 EST by Richard Chang
to Spring 2004 CMSC 641 Homepage