CS 321 (801)
Design and Analysis of Algorithms
Marcus Schaefer

Latest additions

The final practice is online (not to be handed in).

Course Description

This class will introduce you to the basic concepts and techniques of algorithm design and analysis.

We will cover sorting and searching, graph algorithms, greedy algorithms, dynamic programming, and the theory of NP-completeness.


Classes and office hours

The class meets M 5:45-9:00 in CS&T 230.

My office hours are MW 4:00-5:30,.

During that time you can find me in the CS&T building, room 739.

If you want to set up an appointment at another time, or simply ask a question,

send email to mschaefer@cdm.depaul.edu.


The required text for this class is

Sara Baase, Allen Van Gelder:

Computer Algorithms: Introduction to Design and Analysis, 3rd edition, Addison-Wesley.


We will cover material from chapters 1, 4, 7, 8, 9, 10, 13. A good background in discrete mathematics is assumed.


Assignments will be available through this webpage. Homeworks are due at the beginning of class. No late homeworks will be accepted, since we will talk about homework solutions in class.



Homework 1


Homework 2


Homework 3


Midterm practice

not to be handed in

Homework 5


Homework 6


Homework 7


Homework 8


Homework 9


Homework 10

not to be handed in

Questions and Answers

There will be a HyperNews forum for questions related to the CS321 class. There you can talk to other students and ask questions.

You have to sign up as a member to post messages to the forum.

Grades and exams

The final grade will be made up as follows:


  Midterm: 1/31/00 (first 90 minutes of class).

  Final: 3/13/00 (during class).

General Policies


The university and school policy on plagiarism can be summarized as follows: Students in this course, as well as all other courses in which independent research or writing play a vital part in the course requirements, should be aware of the strong sanctions that can be imposed against someone guilty of plagiarism. If proven, a charge of plagiarism could result in an automatic F in the course and possible expulsion. The strongest of sanctions will be imposed on anyone who submits as his/her own work a report, examination paper, computer file, lab report, or other assignment which has been prepared by someone else. If you have any questions or doubts about what plagiarism entails or how to properly acknowledge source materials be sure to consult the instructor.



An incomplete grade is given only for an exceptional reason such as a death in the family, a serious illness, etc. Any such reason must be documented. Any incomplete request must be made at least two weeks before the final, and approved by the Dean of the School of Computer Science, Telecommunications and Information Systems. Any consequences resulting from a poor grade for the course will not be considered as valid reasons for such a request.

Marcus Schaefer
Last updated: January 25, 2000.