- lecture0: Introduction to decision making, design, implementation, complexity
- lecture1: Graph theory, Eulerian, Hamiltonian, Spanning tree & Graph coloring
- lecture2: Paradigm, Divide&Conquer, Dynamic programming
- Practice2_1: Divide&Conquer Binary search algorithm
- Practice2_2: Dynamic programming, the coin changing problem (simple and all combinations)
- lecture3: Shortest path problem, Dijkstra, DAG, Ford-Bellman, Floyd-Warshall
- Practice3_1: Step by step Dijkstra’s algorithm
- Practice3_2: Step by step Ford-Bellman’s algorithm
- Practice3_3: Step by step transitive closure and Floyd-Warshall’s algorithm
- lecture4: Min cut problem, Max flow problem, augmenting path problem, Ford-Fulkerson