Basic Algorithms

V22.0310-001 .01
Spring 2003
Tuesday-Thursday 2:00 pm - 3:15 pm
Room 109, Warren Weaver Hall
Professor Edmond Schonberg

Instructor: Edmond Schonberg (

Office: Room 410, Warren Weaver Hall
Office hours: Tuesday-Thursday 4:00 to 6:00 pm, and by appointment

Teaching Assistant: Offer Gill (
Office hours: Monday 3:30-4:30pm and Tuesday 3:30-4:30pm.
Grader: Michelle Navabian (


We will study the foundations of algorithm design and analysis, i.e. the techniques that allow us to write efficient programs whose behavior and complexity we can analyze. We will examine general techniques for algorithm design, such a divide-and-conquer, and we will also learn the mathematical tools needed to characterize precisely the performance of an algorithm, i.e. how good it is compared to others.

Course Work

Paper assignments, programming assignments, mid-term examination, final examination, each of them roughly with the same weight.



Michael Goodrich and Roberto Tamassia: "Algorithm Design: foundations, analysis, and internet examples" (Wiley). Optimistically, we will cover the first 6 chapters of the text.

Recommended :

There are numerous texts on the subject, that you may want to consult. Introduction to Algorithms, by Cormen, Leiserson, and Rivest (MIT press), is a complete and lucid presentation of the topic.

Class list

All students should register themselves with the class list, which is used for all technical discussions concerning the course. To register, go to the following web page, and follow the instructions:

You can also subscribe by sending an e-mail message to The contents of the message should be the single line:
     subscribe v22_0310_001_sp03
you will be notified in return that you are a list participant. Please send all your questions to this list (not to the instructor) so that everyone can participate.


Assignment I
Assignment II
Assignment III
Assignment IV
Assignment V
Assignment VI
Assignment VII
Assignment VIII