## 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.

### Topics

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:
- Data structures - union-find, vanEmde Boas trees, hash table analysis
- Divide and conquor
- Randomized algorithms
- Dynamic programming
- Greedy algorithms
- Graph algorithms
- String algorithms
- NP-complete problems and approximation algorithms

### Prerequisites:

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.
### Homework

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

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.

### Grading

Grades will be determined using this formula:

Homework 30%

1st Midterm 20%

2nd Midterm 20%

Final 30%