University of Minnesota
CSCI 4041: Algorithms and Data Structures
index.php

Schedule   

This is an approximate schedule. It will be updated as the class progresses.

The in-class exercise at the beginning of each lecture is from a section listed in bold.
Each week's reading is divided roughly into what I expect to cover on Monday, and what I expect to cover on Wednesday.

Week
Monday Date
Topics
Lecture Materials
Readings
Assignments Due
Quizzes
1 Jan. 21
Introduction/Review
Lec1 slides
3.1
Exercise 0: Due 1/25
 
2 Jan. 28
Insertion Sort and Correctness
Lec2 slides
Lec3 slides

2.1
2.2
Written Assignment 1: Due 1/29
Prog. Assignment 1: Due 2/1
PA1.py Template
 
3 Feb. 4
Merge Sort and Quicksort
Lec4 slides
Lec5 slides

2.3
7.1, 7.2
Written Assignment 2: Due 2/5
Prog. Assignment 2: Due 2/8
PA2.py Template
Bubblesort Correctness Proof
Quiz 1: 2/4
Practice
Solutions
4 Feb. 11
Heapsort and Priority Queues
Lec6 slides
Lec7 slides
6.1, 6.2, 6.3
6.4, 6.5
Written Assignment 3: Due 2/12
Prog. Assignment 3: Due 2/15
PA3.py Template
 
5 Feb. 18
Counting Sort and Radix Sort
Lec8 slides
Lec9 slides
8.1, 8.2
8.3, 8.4
Written Assignment 4: Due 2/19
Prog. Assignment 4: Due 2/22
PA4.py Template
Quiz 2: 2/18
Practice
Solutions
6 Feb. 25
Hash Tables
Lec10 slides
Lec11 slides
11.1, 11.2, 11.3
11.4, 12.1
Written Assignment 5: Due 2/26
Prog. Assignment 5: Due 3/1
PA5.py Template
 
7 Mar. 4
Binary Search Trees
Lec12 slides
Lec13 slides
12.2
12.3
Written Assignment 6: Due 3/5
Prog. Assignment 6: Due 3/8
PA6.py Template
Quiz 3: 3/4
Practice
Solutions
8 Mar. 11
Balanced BSTs
Lec14 slides
Lec15 slides
13.1, 13.2, 13.3
18.1, 18.2
Written Assignment 7: Due 3/12
Prog. Assignment 7: Due 3/15
PA7.py Template
 
9 Mar. 18
Spring Break!

 
10 Mar. 25
Dynamic Programming
Lec16 slides
15.1, 15.3
15.2
Written. Assignment 8: Due 3/26
Prog. Assignment 8: Due 3/29
PA8.py Template
Quiz 4: 3/27
Practice
Solutions
11 Apr. 1
Greedy Algorithms
16.1, 16.2
16.3
Written Assignment 9: Due 4/2
Prog. Assignment 9: Due 4/5
 
12 Apr. 8
Breadth-First Search
22.1
22.2
Written Assignment 10: Due 4/9
Prog. Assignment 10: Due 4/12
Quiz 5: 4/8
13 Apr. 15
DFS and Shortest Paths
22.3, 22.4
24.1
Written Assignment 11: Due 4/16
Prog. Assignment 11: Due 4/19
 
14 Apr. 22
Shortest Path Algorithms
24.3
25.1, 25.2
Written Assignment 12: Due 4/23
Prog. Assignment 12: Due 4/26
Quiz 6: 4/22
15 Apr. 29
Minimum Spanning Trees
23.1
23.2
Written Assignment 13: Due 4/30
Prog. Assignment 13: Due 5/3
 
16 May 6
Quiz 7 and Course Evals
 
Quiz 7: 5/6
17 May 13
No Final