Lecturer: Xiaohui Bei ()

- Monday 10:30am - 12:30pm, SPMS-TR+12
- Tuesday 09:30am - 11:30am, SPMS-TR+12

- Tutorial: Tuesday 10:30am - 11:30am, SPMS-TR+12 (biweekly)
- Office hour: Tuesday 11:30am - 12:30pm, SPMS-05-46

- Welcome to the course!

The class consists of two parts: algorithms and complexity. The first part will give a introduction to general algorithm design paradigms as well as algorithms for several specific problems. The second part will talk about topics of automata theory, NP-completeness, and computability.

- Lecture 1. August 13, 2018. Introduction, Algorithm Basics (full slides)
- Lecture 2. August 14, 2018. Big-O Notation, Graph Basics (full slides)
- Lecture 3. August 20, 2018. Graph Traversal Algorithms (full slides)
- Lecture 4. August 21, 2018. Graph Traversal Algorithms (2), Greedy Algorithms (full slides)

**Homework policy: You are allowed (and encouraged) to discuss with your peers on the questions and solutions. But everyone needs to write and submit their own solutions.**

Homework can be submitted by (as PDF files obtained from LaTeX or Word sources), or by pushing a hard copy under my office door (MAS-05-46).

- Homework1, due August 26, 2018.

There is no required textbook for this course. However, the following books are recommended:

- "
*Algorithm Design*" by Kleinberg, Tardos - "
*Introduction to Algorithms*" by Cormen, Leiserson, Rivest, Stein - "
*Introduction to the Theory of Computation (third edition)*" by Sipser