MCS/CS 401: Computer Algorithms I (Fall 2020)
- Lectures: Mon-Wed-Fri 2:00-2:50pm
- Instructor: Yu Cheng
- Email: firstname.lastname@example.org
- Office Hours: Wed 3-4pm and by appointment.
- Hai Wang (email@example.com). Office Hours: Tue 3-4pm.
- Sayan Mukherjee (firstname.lastname@example.org). Office Hours: Thu 2-3pm.
- Textbook (Required): Algorithm Design, First Edition. Jon Kleinberg and Éva Tardos
- Fun Reading: Introduction to Algorithms, Third Edition. Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest, and Clifford Stein.
(Homeworks and their due dates will be posted here.)
- Week 1 (Aug 24), Stable Matching:
- Week 2-3 (Aug 31), Basics of Algorithm Analysis:
- Worst-Case Running Times (Chapter 2.1), Asympototic Notations (Chapter 2.2) (Lecture 4, Lecture 5)
- Arrays and Linked Lists, Implementing Stable Matching (Chapter 2.3) (Lecture 6, Lecture 7)
- Common Running Times (Chapter 2.4) (Lecture 8)
- Week 4-5 (Sep 14), Graphs:
- Basic Definitions (Chapter 3.1) (Lecture 9)
- Breadth-First Search (BFS), Depth-First Search (DFS) (Chapter 3.2) (Lecture 10)
- Stacks and Queues, Implementing DFS and BFS (Chapter 3.3) (Lecture 11)
- Applications of BFS and DFS (Chapter 3.4) (Lecture 12)
- Connectivity in Directed Graphs (Chapter 3.5) (Lecture 13)
- Topological Ordering (Chapter 3.6) (Lecture 14)
- Week 6-8 (Sep 28), Greedy Algorithms:
* Midterm Exam 1: Sep 30th (Wed), 2:00pm - 2:50pm.
- Midterm Exam 1 Review (Lecture 15)
- Week 9-10 (Oct 19), Divide and Conquer:
- Mergesort, Counting Inversions (Chapter 5.1, 5.3) (Lecture 24 and 25)
- Master's Theorem (Chapter 5.2) (Lecture 26)
- Closest Pair of Points (Chapter 5.4), Delaunay Triangulation (Lecture 27)
- HW3 Solutions (Lecture 28)
- Integer Multiplication, Fast Fourier Transform (Chapter 5.5, 5.6) (Lecture 29)
- Week 11-13 (Nov 2), Dynamic Programming:
* Midterm Exam 2: Nov 4th (Wed), 2:00pm - 2:50pm.
- Midterm Exam 2 Review, Dynamic Programming (Chapter 6.2) (Lecture 30)
- Weighted Interval Scheduling (Chapter 6.1) (Lecture 32)
- Segmented Least Squares (Chapter 6.3) (Lecture 33)
- Subset Sum and Knapsack (Chapter 6.4) (Lecture 34)
- Midterm 2 Solutions (Lecture 35)
- Shortest Path, Bellman-Ford Algorithm (Chapter 6.8) (Lecture 36, 37 and 38)
- Week 14 (Nov 23), Network Flow:
- Maximum Flow, Ford-Fulkerson Algorithm (Chapter 7.1) (Lecture 39)
- Minimum Cut, Max-Flow Min-Cut Theorem (Chapter 7.2) (Lecture 40)
- Week 15 (Nov 30), NP and NP-Complete:
* Final Exam: Dec 9th (Wed), 1:00pm-2:30pm.
- Polynomial-Time Reductions (Chapter 8.1), NP and NP-Complete (Chapter 8.3, 8.4) (Lecture 41)
- Reductions via Gadgets (Chapter 8.2), Hamiltonian Cycle, Graph Coloring (Chapter 8.5, 8.7) (Lecture 42)
- Final Exam Review (Lecture 43)
- Homeworks (30%): We will have 5-7 homeworks. You are encouraged to discuss with other students, but you must acknowledge who you worked with and you must write up your solutions independently. Late homeworks are not accepted in general (exceptions with good reasons may be requested in advance).
- Midterm 1 (20%): Sep 30th (Wed), 2:00pm - 2:50pm.
- Midterm 2 (20%): Nov 4th (Wed), 2:00pm - 2:50pm.
- Final (30%): Dec 9th (Wed), 1:00pm-2:30pm.
Concerning disabled students, the University of Illinois at Chicago is committed to maintaining a barrier-free environment so that individuals with disabilities can fully access programs, courses, services, and activities at UIC. Students with disabilities who require accommodations for full access and participation in UIC Programs must be registered with the Disability Resource Center (DRC). Please contact DRC at (312) 413-2183 (voice) or (312) 413-0123 (TDD).
Students who wish to observe their religious holidays shall notify the faculty member by the tenth day of the semester of the date when they will be absent unless the religious holiday is observed on or before the tenth day of the semester. In such cases, the students shall notify the faculty member at least five days in advance of the date when he/she will be absent. The faculty member shall make every reasonable effort to honor the request.