Below are links to the lecture slides.

# | SLIDES | READINGS | DEMOS |
---|---|---|---|

1 |
Introduction( course resources)
| Preface | – |

2 |
Stable Matching( Gale–Shapley)
| Chapter 1 | Gale–Shapley |

3 |
Algorithm Analysis( big O notation)
| Chapter 2 | binary search |

4 |
Greedy Algorithms I( basic techniques)
| Chapter 4 | interval scheduling interval partitioning |

5 |
Greedy Algorithms II( shortest paths and MSTs)
| Chapter 4 | Dijkstra Prim, Kruskal, Borůvka Edmonds branching |

6 |
Divide and Conquer I( sorting and selection)
| Chapter 5 | merging quickselect |

7 |
Divide and Conquer II( multiplication and FFT)
| Chapter 5 | – |

8 |
Dynamic Programming I( basic techniques)
| Chapter 6 | – |

9 |
Dynamic Programming II( edit distance, Bellman–Ford)
| Chapter 6 | – |

10 |
Duality Warmup( longest increasing subsequence)
| – | – |

11 |
Network Flow I( maximum flow theory)
| Chapter 7 | Ford–Fulkerson |

12 |
Network Flow II( maximum flow applications)
| Chapter 7 | – |

13 |
Intractablity I( poly-time reductions)
| Chapter 8 | – |

14 |
Intractablity II( P vs. NP, NP-completeness)
| Chapter 8 | – |

15 |
Intractablity III( coping with intractability)
| Chapter 8 | independent set vertex cover |

**Readings.**
All readings refer to
Algorithm Design
by Jon Kleinberg and Éva Tardos unless otherwise specified.

**Advice.**
The slides are intended for the lecture presentations;
for reference, read the indicated sections from
*Algorithm Design*.
An effective strategy
is to skim the textbook before the lecture, then read it thoroughly
soon afterwards.
We recommend annotating the slides during lecture.

**iClicker policy.**
Using an
iClicker
during lecture counts towards the participation component
of your course grade.
Using a classmate’s iClicker during lecture (or allowing someone else
to use your iClicker during lecture) is prohibited.

**Errata.**
Extra credit will be awarded for identifying any errata in the lectures slides
and emailing the instructor.