Algorithms and Complexity
Please read carefully.
This course is for undergraduate students to learn basic concepts and
techniques in algorithms and complexity.
Lectures. Tuesday and Thursday,
11-12:15, ITE 127.
Wu (email@example.com), ITE 235. Office hour: Tuesday and
Prerequisites. CSE 2100 (Data
structure and intro. to algorithms) and CSE 2500 (Introduction to
Some topics need some basic
knowledge of probabilities.
The required textbook is: Introduction to Algorithms (3nd edition) by
T. Cormen, C. Leiserson,
R. Rivest, and C. Stein, 2009. Most of the lectures are based on this
book, although we will sometimes
cover some topics not in the book (where notes and handout will be
provided) and of course
we can not cover every chapter.
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.
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.
Randomized algorithms. NP-completeness.
Introduction to approximation
algorithms. Algorithms on strings.
We will have homework every one to two weeks. Work hard on them, although
do not carry big weights on 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
Note: you need to acknowledge
any source of ideas other than the textbook.
You must always write the
solutions on your own.
To help you prepare for new lectures and review what are learned
in previous lectures,
I will assign (on-line) quizzes in HuskyCT class web page. It should be
quick to do one quiz.
I expect to assign quiz weekly or bi-weekly.
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.
Quizzes (10%), homeworks (15%), mid-term 1 (20%), mid-term 2 (20%) and