| Databases |
| 1 | Database: Entity-relationship modeling | |
| 2 | Database: Normalization, SQL basics | Problem set 0 due |
| 3 | Database: SQL joins, views, subqueries | |
| 4 | Database: JDBC | Problem set 1 due |
| Data Structures |
| 5 | Algorithms: Analysis, complexity | |
| 6 | Stacks, queues, trees, dictionaries | |
| 7 | Graphs | Problem set 2 due |
| 8 | Heaps, sets | |
| Divide-and-Conquer and Greedy Algorithms |
| 9 | Divide-conquer: Binary search, quicksort, selection | |
| 10 | Greedy: Knapsack, job sequence | Problem set 3 due |
| 11 | Greedy: Minimum spanning trees | |
| 12 | Greedy/dynamic programming: Shortest paths | |
| | Quiz 1 | |
| Dynamic Programming |
| 13 | Priniciple of optimality, resource allocation | Problem set 4 due |
| 14 | Job scheduling, graph/tree generation | |
| 15 | Knapsack problem, set representation | |
| Branch-and-Bound |
| 16 | Branch and bound: Backtrack method, knapsack problem | Problem set 5 due |
| 17 | Branch and bound: General method, facility location | |
| Linear and Nonlinear Optimization |
| 18 | Continuous constrained nonlinear optimization | |
| 19 | Network equilibrium | Problem set 6 due |
| 20 | Linear systems | |
| 21 | Continuous unconstrained nonlinear optimization | |
| 22 | Unconstrained methods: Amoeba, BFGS, demand model estimation | |
| Approximate Queues and Network Designs |
| 23 | Analytic approximations: Network design | Problem set 7 due |
| 24 | Approximate queuing analysis | Problem set 8 due |