ECS 122A: Design and Analysis of Algorithms

CRN #40775

Lecture:MWF 11:00-11:50 AM in 166 Chemistry
Discussion Section:Friday 10:00-10:50 AM in 176 Chemistry

Professor: Nina Amenta
Office Hours: Friday 3:30-4:30 PM and Tuesday 9:00-10:00 AM in 3029 Kemper

Teaching Assistant: Sam Johnson
Office Hours: Monday 2:00-4:00 PM in Kemper 55
Supplemental Material maintained by Sam.

Textbook: Corman, Leiserson, Rivest and Stein
Introduction to Algorithms, 3rd Edition
The 3rd edition just came out. I will try to give page numbers for the 2nd as well as the 3rd edition for most of the readings and assignements; some might be in the 3rd edition only, so if you have the 2nd edition you will have to get them from classmates. We will supplement the text with occasional handouts.


This is the undergraduate algorithms class. Our goal is to improve our skills in algorithm design and analysis, and in the written presentation of our ideas. We do this by studying the following techniques:


You should have had an undergraduate course in data structures such as ECS 60. I assume you know the material covered in that course, including stacks, heaps, some kind of balanced binary search trees, several sorting algorithms, and basic graph algorithms such as depth-first and breadth-first traversal, topological sort and minimum spanning tree.

Lectures and Reading

Here is a list of lecture topics with readings in the book to accompany them.


Here are the assignments and information about homework. There will be five homework problem sets.


There will be two in-class midterms, dates to be announced. The final will be held at the official time, March 20, 1:00-3:00 PM.


Grades will be determined using this formula:

Homework 30%
1st Midterm 20%
2nd Midterm 20%
Final 30%