Here is a list of frequently asked questions about the course.
Although you may discuss the general approach to solving a problem with other people, you should not discuss the solution in detail. You must not take any written notes away from such a discussion. Also, you must list on the cover page of your solutions any people with whom you have discussed the problems. The solutions you hand in should be your own work. While writing them, you may look at the course textbook and your own lecture notes but no other outside sources.
Homework exercises | 15% |
Test #1 | 20% |
Test #2 | 20% |
Exam | 45% |
max ( T(x, floor(k/2)) + T(n-x, ceiling(k/2)) + cn). |
0 ≤ x ≤ n |
First class | Wednesday, January 4 |
Test #1 (see Jan 31 announcement for location) | Wednesday, February 1 |
Reading Week (no classes) | February 20-24 |
Make-up test | Sat, March 3, 11:00 in TEL0001 |
Last date to drop course without receiving a grade | Friday, March 9 |
Test #2 | Wednesday, March 14 |
Last class | Monday, Apr 2 |
Exam period | April 4-20 |
Week | Topics | Reading in CLRS (3rd ed) | Suggested questions, mostly from CLRS (3rd ed) |
prereq | Background Math | Chapter 3 and handout | Review questions and 3.1-1 to 3.1-6, 3.2-2, 3.2-7, 3-3(a), 3-4(a to d); see also chapter 2 and 3 of Parberry's book |
Jan 2 | Introduction | 1 | 1-1 |
Jan 9 | Proving correctness of loops | 2.1, 2.2, notes | 2.1-3, 2.1-4, 2.2-2, 2-2, 2-3; see also chapter 5.1 of Parberry's book |
Jan 16 | Proving correctness of recursive algorithms, divide and conquer | 2.3, 31.2 (up to Lame's Theorem), 4.0, 4.1, a time bound | 2-1, 31.2-4, 31.2-8, 4.1-1, 4.1-5; see also chapter 5.2 and 7 of Parberry's book |
Jan 23 | More divide and conquer, analysing running time of recursive algorithms | 4.2-4.5, 33.4, skim 4.6 | 2.3-3, 2.3-4, 2.3-6, 2.3-7, 4.2-3, 4.2-7, 4.3-1, 4.3-6, 4.4-2, 4.5-1, 4.5-4, 4-1, 4-2, 33.4-1, ; see also chapter 4 of Parberry's book |
Jan 30 | Selecting kth smallest element from unsorted array | 9.1, 9.3 (and skim 9.2) | 9.1-1, 9.3-1, 9.3-5, 9.3-6, 9.3-7, 9.3-8, 9-1 |
Feb 6 | Sorting | pages 147-189, Section 8.2, 8.3, 8.4 (a lot of this will be a review), Prof. Datta's slides for Monday and Wednesday | 6.1-1 to 6.1-7, 6.2-3, 6.2-6, 6.4-2, 6.4-3, 6.4-4, 6.5-4, 6.5-5, 6.5-8, 6-2, 7.2-4, 7.3-1, 7-1, 7-2, 8.2-4, 8.3-1, 8.3-2, 8.3-3, 8.3-4, 8.4-4 |
Feb 13 | Sorting lower bound, Greedy Algorithms | 8.1, 16.1, 16.2 | 8.1-1, 8-4, 16.1-2, 16.1-3, 16.1-4, 16.2-1, 16.2-3, 16.2-5, 16.2-7 |
Feb 27 | Greedy Algorithms, including MST algorithms | 16.3, 23 | 16.3-1, 16.3-3, 16.3-4, 16.3-7, 16.3-9, 16-2, 16-4(a), 16-5(a,c), 23.1-1, 23.1-4, 23.1-6, 23.1-7, 23.2-2, 23.2-4, 23.2-5, 23.2-8, 23-4 |
March 5 | Dynamic Programming | 21.1-21.2 (for implementation of Prim's algorithm), 15.1-15.3 | 21.1-3, 21.2-2, 21.2-5, 21.2-6, 15.1-1 to 15.1-5, 15.2-2, 15.2-6, 15.3-2 to 15.3-6 |
March 12 | Dynamic Programming | 15.4, 15.5 | 15.4-2, 15.4-5, 15-2 (in linear time), 15-5, 15-6, 15-9, 15-10, 15-11 |
March 19 | Graph Algorithms | 25.1, 25.2, 22 | 25.1-6, 25.1-7, 25.1-8, 25.2-4, 25.2-5, 25-1(a,b), 22.1-5, 22.2-6, 22.2-9, 22.3-2, 22.3-5, 22.3-7, 22.3-9 |
March 26 | More Graph Algorithms | 24.0, 24.3 | 22.4-3, 22.4-5, 22.5-1, 22.5-2, 22-2, 22-3, 22-4, Exercises from Chapter 24 TBA |
Updated April 19, 2012