CMSC 641 Design & Analysis of Algorithms, Spring 2008

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.


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, this class 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 13 homework assignments, 5 quizzes and 1 final exam. Each homework assignment is worth 3% of your grade, each quiz 7% and the final exam 26%. 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 39% of your grade and quizzes 35% 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.


The only exam is the final exam scheduled on Thursday, May 15.

Homework Policy and Academic Integrity

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, ... The UMBC academic integrity policy is available at .

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: 22 Jan 2010 14:55:20 EST by Richard Chang
to Spring 2008 CMSC 641 Homepage