Welcome to the Fall 2016 homepage for CMPSCI 311: Introduction to Algorithms.
- Instructors:
- Andrew McGregor (Email: mcgregor at cs) and Akshay Krishnamurthy (Email: akshay at cs).
- Office hours: 1:30-2:30pm Thursday (Andrew, CS 334) or 1pm Tuesday (Akshay, CS 258), or by appointment.
- TA:
- Archan Ray (Email: ray at cs) and Walter Brown (Email: webrown at cs).
- Office hours: 10am Friday (Archan, CS 207) and 3pm Wednesday (Walter, CS 207), or by appointment.
- Textbook:
The textbooks will be
- Required: Algorithm Design, 1st Edition by Jon Kleinberg and Eva Tardos.
- Useful if you want a different perspective:
- Introduction to Algorithms by Cormen, Leiserson, Rivest, and Stein (Library has the e-book)
- Algorithms by Dasgupta, Papadimitriou, Vazirani
- Grade Brakedown:
- Participation (10%): Discussion section activities and any in-class quizzes.
- Homework (25%): Weekly online quiz (in Moodle), homework, and programming.
- Midterm 1 (20%): Focuses on first third of the class.
- Midterm 2 (20%): Focuses on second third of the class.
- Final (25%): Covers all lectures.
- Homeworks, Exams, Material:
- Exams:
- Midterm 1: 7pm, Thursday 13 October, Thompson Hall Room 102.
- Exam and Solutions,
- Practice Exam and Solutions, Another Practice and Solutions, 2006 Exam and Solutions.
- Midterm 2: 7pm, Thursday 17 November, Thompson Hall Room 106.
- Exam and Solutions,
- Practice Exam, Another Practice and Solutions, 2006 Exam and Solutions.
- Final: 1pm, Friday 16 December, Hasbrouck Lab room 20. Covers entire course.
- Practice Exam and Solutions, Another Practice and Solutions, 2006 Exam and Solutions.
- Midterm 1: 7pm, Thursday 13 October, Thompson Hall Room 102.
- Homework: (Due dates are approximate until the homework is posted.)
- Exams:
- Schedule and Slides: Here's an approximate schedule for the course. Note that this'll be updated as we go along depending on our progress and, hopefully, we'll get to squeeze in a couple of extra topcs. I'll add slides after each class (some links will be dead until the slides are added). Our slides are designed so that lectures include some material presented on the board. Another set of slides that roughly matches the material we cover can be found here.
Date Topic Reading and Background Lec 1 6 Sept Introduction and Stable Matching Chapter 1 7 Sept No discussion. Lec 2 8 Sept Algorithm Analysis Chapter 2.1, 2.2 Lec 3 13 Sept Graphs Chapters 3.1, 3.2 Disc 1 14 Sept Lec 4 15 Sept Graphs Chapters 3.3-3.6 Lec 5 20 Sept Greedy Chapters 4.1 Disc 2 21 Sept Lec 6 22 Sept Greedy Chapters 4.2 Lec 7 27 Sept Greedy Chapter 4.4 Disc 3 28 Sept Lec 8 29 Sept Greedy Chapter 4.5, 4.6 Lec 9 4 Oct Divide and Conquer Chapter 5.1, 5.2, and 5.3. Disc 4 5 Oct Lec 10 6 Oct Divide and Conquer Chapter 5.4 and 5.5. 11 Oct No class. [Monday Schedule] Disc 5 12 Oct Lec 11 13 Oct Divide and Conquer Lec 12 18 Oct Dynamic Programming Chapter 6.1 and 6.2. Disc 6 19 Oct Lec 13 20 Oct Dynamic Programming Chapter 6.4 and 6.5. Lec 14 25 Oct Dynamic Programming Chapter 6.6, 6.7, 6.8, and 6.9. Disc 7 26 Oct Lec 15 27 Oct Dynamic Programming Lec 16 1 Nov Network Flow Chapter 7.1, 7.2 Disc 8 2 Nov Lec 17 3 Nov Network Flow Chapter 7.5 Lec 18 8 Nov Intractibility Chapter 7.10, 8.1 Disc 9 9 Nov Lec 19 10 Nov Intractibility Chapter 8.2, 8.3 Lec 20 15 Nov Intractibility 16 Nov No discussion. [Friday Schedule] Lec 21 17 Nov Intractibility 22 Nov No class. [Thanksgiving] 16 Nov No discussion. [Thanksgiving] 24 Nov No class. [Thanksgiving] Lec 22 29 Nov Randomized Algorithms Chapter 13.1 and 13.2 Disc 10 30 Nov Lec 23 1 Dec Randomized Algorithms Chapter 13.5 Lec 24 6 Dec Approximation Algorithms Chapter 11.1, 11.2 Disc 11 7 Dec Lec 25 8 Dec Approximation Algorithms Chapter 11.3, 11.4 are relevant but we'll just cover a simplified version of this material. Lec 26 13 Dec Review Disc 12 14 Dec