CSE 3500: Algorithms and Complexity
Spring 2010

Please read carefully.

This course is for undergraduates to learn basic concepts and techniques in algorithms and complexity.

Lectures. Tuesday and Thursday, 11-12:15, ITE 127.

Instructor:
Yufeng Wu (ywu@engr.uconn.edu), ITE 235. Office hour: Tuesday and Thursday, 9:30-11:00.
Grader: Hang He.

Prerequisites. CSE 2100 (Data structure and intro. to algorithms) and CSE 2500 (Introduction to discrete systems).
Some topics need some basic knowledge of probabilities.

Textbook: The required textbook is: Introduction to Algorithms (2nd edition) by T. Cormen, C. Leiserson,
R. Rivest, and C. Stein, 2002. Most of the lectures are based on this book, although of course we can not
cover every chapter.

Outline. This course is lecture-based. The planned subjects are the following (subject to change).

1) Fundamental concepts of algorithms. Asymptotic order of growth. Basic running time analysis. Divide and conquer.
Basic probabilistic analysis. Different kinds of sorting.  Binary search tree and red-black trees.

2) Basic algorithm techniques. Dynamic programming. Greedy algorithms. Algorithms for graphs: basic algorithms,
minimum spanning tree and shortest path. 

3) Advanced algorithms and complexity. Stable matching problem. String matching algorithms. NP-completeness.
Introduction to approximation algorithms.

Homeworks. We will have homework every one to two weeks. Each homework will likely to contain three to four problems.
Work hard on them, although homeworks do not carry big weights in grading. This is the best way to prepare for exams.
Much of what you learn from this course comes from the homeworks.
Your solutions should be concise, correct and legible. Some of the problems may be challenging, depending on your
background. If you can not solve a problem, briefly explain where the difficulty is.
Note: you need to acknowledge any source of ideas other than the textbook. You must always write the solutions on your
own.

Exams. There are two midterm exams for this course and a final exam. Exams will be closed book.
We will have additional review sessions to help students prepare for the exams. Be there if you can.


Grading. Homeworks (20%), two mid-terms (20% each), and final (40%).