Other resources/recommended reading (all on a 2 hour reserve in the library; or free):
TOPIC: Greedy algorithms. Dynamic programming, Linear Programming. (Homework #1 due Sep. 16, Homework #2 due Sep. 30, Exam #1 on Oct. 7.)
Reading:
Problem sessions:
- Sep. 13 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Sep. 14 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Sep. 15 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 310 (Mandar Juvekar)
- Sep. 15 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
- Sep. 27 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Sep. 28 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Sep. 29 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 310 (Mandar Juvekar)
- Sep. 29 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
- Oct. 4 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Oct. 5 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Oct. 6 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 310 (Mandar Juvekar)
- Oct. 6 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
Aug. 26 Th - Introduction.
Aug. 31 Tu - When does greedy algorithm for the coin change problem work?
Sep. 2 Th - Dynamic programming for the coin change problem. Knapsack (integer weights).
Sep. 7 Tu - Knapsack revisited (integer values). Longest increasing subsequence.
Sep. 9 Th - Edit distance. Chain matrix multiplication.
Sep. 14 Tu - More dynamic programming problems.
Sep. 16 Th - Modeling with linear programs I (classical problems).
Sep. 21 Tu - Solving systems of equations (Gaussian elimination), solving systems on inequalities (Fourier-Motzkin elimination).
Sep. 23 Th - Duality, Modeling with linear programs II (zero-sum games).
Sep. 28 Tu - Linear programming for approximation (relaxation, rounding).
Sep. 30 Th - More linear programming.
Oct. 5 Tu - (review/buffer)
Oct. 7 Th - EXAM #1 (topics: Greedy algorithms/Dynamic programming/Linear Programming)
TOPIC: Graph algorithms. (Homework #3 due Oct. 28, Homework #4 due Nov. 11, Exam #2 on Nov. 18.)
Reading:
- [CLRS] Chapters 22, 23, 24, 25, 26 (excluding sections 26.4, 26.5),
- [Erickson] Chapters 4,5,6,7,8,9,10,11 (Graph algorithms),
- [DPV] Chapters 3, 4, 5.
Problem sessions:
- Oct. 25 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Oct. 26 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Oct. 27 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 310 (Mandar Juvekar)
- Oct. 27 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
- Nov. 8 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Nov. 9 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Nov. 10 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 310 (Mandar Juvekar)
- Nov. 10 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
- Nov. 15 (Monday) 6:15pm - 7:15pm in Hylan Building Room 202 (Eric Anderson)
- Nov. 16 (Tuesday) 6:15pm - 7:15pm in Goergen Hall Room 109 (Michael Chavrimootoo)
- Nov. 17 (Wednesday) 6:15pm - 7:15pm in Gavett Hall Room 3100 (Mandar Juvekar)
- Nov. 17 (Wednesday) 7:40pm - 8:40pm Hutchinson Hall Room 473 (David Lau)
Oct. 12 Tu - FALL BREAK (no class).
Oct. 14 Th - Undirected graphs, finding connected components, DFS.
Oct. 19 Tu - Directed graphs, strong connectedness, linearization (topological sorting).
Oct. 21 Th - Strongly connected components.
Oct. 26 Tu - BFS, Shortest paths (Dijkstra)
Oct. 28 Th - Dealing with negative edge weights (Bellman Ford). Floyd-Warshal.
Nov. 2 Tu - Matchings I.
Nov. 4 Th - Matchings II.
Nov. 9 Tu - Flows I.
Nov. 11 Th - Flows II.
Nov. 16 Tu - Minimum spanning trees.
Nov. 18 Th - EXAM #2 (topics: Graph algorithms)
TOPIC: Reductions (NP-completeness), Divide and Conquer Algorithms. (no homework, no exam)
Reading:
- [CLRS] Chapter 34,
- [Erickson] Chapter 12 (NP),
- [DPV] Chapter 8.
- [CLRS] Chapters 4, 9,30,
- FFT (Erickson),
- [DPV] Chapter 2.
Nov. 23 Tu - NP completness, reductions I.
Nov. 25 Th - THANKSGIVING (no class).
Nov. 30 Tu - NP completness, reductions II.
Dec. 2 Th - Fast fourier transform, convolution I.
Dec. 7 Tu - Fast fourier transform, convolution II.
Comprehensive final exam
Dec. 16 Thursday FINAL EXAM (4:00pm-7:00pm, Feldman Ballroom)
(following university final exam schedule)
Grading
-
The grade for the course is computed from the exam grade (40%), the homework grade (20%), the final exam grade (40%).
Homework Rules
- Homework will be submitted on Gradescope, the deadline is 11am on the date the homework is due.
- There will be the following two types of homework.
- Major homework will require typeseting one or more of the following: algorithms, pseudocode, code, reasoning, proofs. Major homework is submitted on gradescope and will
be graded by the TAs.
- Minor homework will be answering questions on gradescope. Minor homework will be autograded.
- Major homework
must be typeset (for example, you can use LaTeX, word, powerpoint (of course, any open office or google variants
are fine), etc).
- No late homework will be accepted without instructor's
permission (a permission must be requested at least 24 hours
before the due date).
- You may work with other people on the
homework, but you must each write up your solutions separately
without any written aid. If you work with other people, indicate
who you worked with on your solution.
Test Rules
- All tests are closed book. No text or notes. No scratch paper allowed. No electronic devices (calculators, phones, computers, etc).
- There will be 2 full-class exams and a final exam. There will be no make-up exams.
This course follows
The University Policy on Academic Honesty.