Assignments | Course Home | Schedule & Lecture Notes

Saint Louis University

Computer Science 314

Michael Goldwasser

Spring 2008

Dept. of Math & Computer Science


Please note that the schedule for future classes is tentative.

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 22-Jan 25 Wed Stable Marriage Problem Ch. 1; pp. 1-5
Fri Gale-Shapley Algorithm for Stable Marriage Ch. 1; pp. 5-12
Jan 28-Feb 1 Mon Further properties of stable marriages; End of Ch. 1.1
Wed Analysis of Gale-Shapley implementation
Basics of Algorithm Analysis
Ch. 2
Fri (no school - snow) (read rest of Ch. 2)
Feb 4-Feb 8 Mon Introduction to Graphs
Graph Connectivity
Ch. 3.1
Wed Graph Traversals
Ch. 3.2
Fri (discussion of hw2)
Feb 11-Feb 15 Mon Graph Representations
(Adjacency Matrix, Adjacency List)
Wed BFS and DFS Implementations Ch. 3.3
Fri Detecting Bipartite Graphs
Connectivity in Directed Graphs
Algorithm for Computing Strongly-Connected Components
Ch. 3.4
part of Ch. 3.5
Feb 18-Feb 22 Mon Proof of correctness for strongly-connected component algorithm Notes
Wed Topological Ordering Ch. 3.6
Fri Interval Scheduling Ch. 4.1
Feb 25-Feb 29 Mon Interval Graphs notes
Wed (more about interval graphs)
Fri Scheduling to minimize lateness Ch.  4.2
Mar 3-Mar 7 Mon Shortest Paths Ch. 4.4
Wed Analysis of Dijkstra's algorithm
Fri Minimum Spanning Trees Ch. 4.5
Mar 10-Mar 14 Mon Implementation of Kruskal's Algorithm Ch. 4.6
Wed Further Improvements to Union-Find pp. 155-157
Fri Midterm Exam
Mar 17-Mar 21 Mon No Class: Spring Break
Mar 24-Mar 28 Mon
Wed Mergesort and Recurrence Relations Ch. 5.51
Fri More Recurrence Relations Ch. 5.2
Mar 31-Apr 4 Mon Integer Multiplication Ch. 5.5
Wed Closest Pair Ch. 5.4
Fri Weighted Inverval Scheduling
Dynamic Programming
Ch. 6.1
Apr 7-Apr 11 Mon General view of Dynamic Programming Ch. 6.2
Wed Segmented Least Squares Ch. 6.3
Fri Subset Sum and Knapsack
(Python code)
Ch. 6.4
Apr 14-Apr 18 Mon Sequence Alignment Ch. 6.6
Wed Sequence Alignment in linear space Ch. 6.7
Fri Shortest Paths Ch. 6.8
Apr 21-Apr 25 Mon Network Flows Ch 7.1
Wed Ford-Fulkerson Algorithm Ch 7.2
Fri Choosing Good Augmenting Paths Ch. 7.3
Apr 28-May 2 Mon Applications of Network Flow
(Bipartite Matching, Disjoint Paths)
Ch. 7.5, 7.6
Wed Applications of Network Flow
May 5 Mon

May 13 Tues Take-Home Final Exam Due

Michael Goldwasser © 2008
CSCI 314, Spring 2008
Last modified: Monday, 28 April 2008
Assignments | Course Home | Schedule & Lecture Notes