David R. Cheriton School of Computer Science
Instructor:
Anna Lubiw,
DC2334, x34449, alubiw "at" cs.uwaterloo.ca
Time and Place:
General Office Hours (changes for specific weeks will be posted on Piazza):
Credit:
Additional books. The first two are on reserve in the DC library for 3 hour loan:
Please include a cover page for your assignment with your name and student number. The TAs will use the cover page to write your marks. Hand in your assignment to the assignment boxes on the 3rd floor of MC near the bridge to DC.
You may hand in one assignment late (on Friday at 5 PM rather than the usual time of Wednesday at 5 PM).)
Assignments will be handed back in class.
| L01 | Tues. Jan. 3 | Introduction: Convex hull example to illustrate design of algorithms, analysis of algorithms, lower bounds. | [CLRS Ch. 1] [S Ch. 1] (Convex hull in [CLRS 33.3] or [S 17.2] but you don't need to read it.) notes |
|---|---|---|---|
| L02 | Thurs. Jan. 5 | Analysis of Algorithms: models of computation, asymptotic analysis, order notation. | [CLRS 2.2, 3.1] [S Ch. 2] notes |
| L03 | Tues. Jan. 10 | Greedy Algorithms: making change, activity selection, scheduling to minimize lateness | [CLRS 16.1] but not too readable. [KT 4.1] notes |
| L04 | Thurs. Jan. 12 | Greedy Algorithms: scheduling to minimize lateness, optimal caching, fractional knapsack | [KT 4.2] (scheduling) notes |
| L05 | Tues. Jan. 17 | Divide and Conquer: Unrolling recurrences, proofs by induction, weak form of Master Theorem. | [CLRS 4.3], [DPV 2.2] notes |
| L06 | Thurs. Jan. 19 | Divide and Conquer: Counting inversions, closest points in the plane. | inversions [KT 5.3]. closest pair [KT 5.4], [CLRS 33.4]. notes |
| L07 | Tues. Jan. 24 | Divide and Conquer: Integer multiplication, Multiplying matrices. Graph Algorithms: Breadth-First Search. | integer mult. [DPV 2.1], [KT 5.5], [BB 2.7.3]. matrix mult. [CLRS 4.2]. BFS [CLRS 22.2], [S 5.6]. notes |
| L08 | Thurs. Jan. 26 | Depth First Search: topological sort, strongly connected components. | [CLRS 22.3 - 22.5] (wordy), [DPV 3.2 - 3.4] (more succinct, omits topological ordering) notes |
| L09 | Tues. Jan. 31 | Minimum Spanning Trees: Prim, Kruskal. | [CLRS Ch. 23] (very abstract), [KT 4.5, 4.6] notes |
| L10 | Thurs. Feb. 2 | Single Source Shortest Paths: Dijkstra, on a DAG. | [CLRS 24.3], [DPV 4.4], [KT 4.4]. notes |
| L11 | Tues. Feb. 7 | Dynamic Programming (lecture by Vinayak Pathak) | [CLRS] [KT] [DPV] notes |
| L12 | Thus. Feb. 9 | Dynamic Programming (lecture by Vinayak Pathak) | [CLRS] [KT] [DPV] notes |
| L13 | Tues. Feb. 14 | Dynamic Programming: shortest paths in graphs (lecture by Prof. J. Shallit) | [CLRS] [KT] notes |
Academic Integrity: In order to maintain a culture of academic integrity, members of the University of Waterloo community are expected to promote honesty, trust, fairness, respect and responsibility.
[Check www.uwaterloo.ca/academicintegrity for more information. ]
Grievance: A student who believes that a decision affecting some aspect of his/her university life has been unfair or unreasonable may have grounds for initiating a grievance. Read Policy 70 - Student Petitions and Grievances, Section 4. When in doubt please be certain to contact the department's administrative assistant who will provide further assistance.
Note for students with disabilities: The Office for Persons with Disabilities (OPD), located in Needles Hall, Room 1132, collaborates with all academic departments to arrange appropriate accommodations for students with disabilities without compromising the academic integrity of the curriculum. If you require academic accommodations to lessen the impact of your disability, please register with the OPD at the beginning of each academic term.