Algorithms and Complexity
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.
Wu (firstname.lastname@example.org), ITE 235. Office hour: Tuesday and
Grader: Hang He.
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 (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.
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.
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
Note: you need to acknowledge
any source of ideas other than the textbook. You must always write the
solutions on your
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.
Homeworks (20%), two mid-terms (20% each), and final (40%).