Saint Louis University |
Computer Science 314
|
Dept. of Math & Computer Science |
Also note: For each lecture, we denote both a topic as well as the associated reading in the textbook. The live link on the 'topic' leads to a page of my personal notes for that lecture. Those personal notes are not nearly as complete or polished as the associated readings from the text. In truth, they exist mostly to provide a brief outline of the day's lecture. Students are expected to read the associated sections of the text. In cases where my notes include material which is not explicitly in the text, I will add the word "notes" to the explicit reading list.
Week | Day | Topic | Reading |
---|---|---|---|
Jan 16-Jan 19 | Wed | Stable Marriage Problem | Ch. 1; pp. 1-5 |
Fri | Gale-Shapley Algorithm for Stable Marriage | Ch. 1; pp. 5-12 | |
Jan 22-Jan 26 | Mon |
Further properties of stable marriages;
Analysis of Gale-Shapley implementation |
End of Ch. 1.1; Ch. 2.3 |
Wed | Basics of Algorithm Analysis | Ch. 2 | |
Fri | Priority Queues | Ch. 2.5 | |
Jan 29-Feb 2 | Mon |
Introduction to Graphs
Graph Connectivity |
Ch. 3.1 |
Wed |
Graph Traversals BFS, DFS |
Ch. 3.2 | |
Fri | Traversal Implementations | Ch. 3.3 | |
Feb 5-Feb 9 | Mon | Other Graph Properties; Directed Graphs | Ch. 3.4, 3.5 |
Wed | Strong Connectivity; Topological Ordering | Ch. 3.5, 3.6 | |
Fri |
Greedy Algorithms Interval Scheduling |
Ch. 4.1 | |
Feb 12-Feb 16 | Mon | more iterval scheduling | Ch. 4.1 |
Wed | Scheduling to Minimize Lateness | Ch. 4.2 | |
Fri | review | ||
Feb 19-Feb 23 | Mon | Shortest Paths and Dijkstra's algorithm | Ch. 4.4 |
Wed | Minimum Spanning Trees | Ch. 4.5 | |
Fri | Minimum Spanning Trees (continued) | Ch. 4.5 | |
Feb 26-Mar 2 | Mon |
Implementing Kruskal's algorithm Union-Find data structure |
Ch. 4.6 |
Wed | Huffman Encoding | Ch. 4.8 | |
Fri | Huffman Encoding (continued) | Ch. 4.8 | |
Mar 5-Mar 9 | Mon | Mergesort and Recurrence Relations | Ch. 5.1 |
Wed | More Recurrence Relations | Ch. 5.2 | |
Fri | Midterm Exam - info | ||
Mar 12-Mar 16 | Mon | No Class: Spring Break | |
Wed | |||
Fri | |||
Mar 19-Mar 23 | Mon | Closest Pair | Ch. 5.4 |
Wed |
Weighted Interval Scheduling
Dynamic Programming |
Ch. 6.1 | |
Fri | Dynamic Programming | Ch. 6.2 | |
Mar 26-Mar 30 | Mon | Segmented Least Squares | Ch. 6.3 |
Wed | Subset-Sum/Knapsack | Ch. 6.4 | |
Fri |
Subset-Sum/Knapsack (continued)
(Python code) |
Ch. 6.4 | |
Apr 2-Apr 6 | Mon | RNA Secondary Structure | Ch. 6.5 |
Wed | RNA Secondary Structure (Python code) | Ch. 6.5 | |
Fri | No Class: Good Friday | ||
Apr 9-Apr 13 | Mon | Sequence Alignment Problem | Ch. 6.6 |
Wed | Sequence Alignment with Linear Space | Ch. 6.7 | |
Fri | Network Flows | Ch. 7.1 | |
Apr 16-Apr 20 | Mon | Ford-Fulkerson Algorithm | Ch. 7.2 |
Wed | Choosing Good Augmenting Paths | Ch. 7.3 | |
Fri | Network Flow Applications | Ch. 7.5, 7.6 | |
Apr 23-Apr 27 | Mon | Network Flow Applications | Ch. 7.11, 7.12 |
Wed | Polynomial-Time Reductions | Ch. 8.1, 8.2 | |
Fri | |||
Apr 30-May 4 | Mon | ||
Wed | |||
Fri | |||
Friday 13 May 2008 |
Final Exam - take-home |