Course Calendar

Below is the calendar for this semester course. This is the preliminary schedule, which may need to be altered as the semester progresses. It is the responsibility of the students to frequently check this web-page for schedule, readings, and assignment changes. As the professor, I will attempt to announce any change to the class, but this web-page should be viewed as authoritative. If you have any questions, please contact me (contact information is available at the course homepage).

Date Topic Assignments Due Readings/Discussions
(do readings before class)
Slides
08/24/16 Introduction Course syllabus (link)

Textbook, chapter 1

Assignment #0 - Introductions (link)

Introduction
08/26/16 Algorithm Analysis Textbook, Chapter 2.1

Homework - 2.1: 5-9

Analysis Framework
08/29/16 Algorithm Analysis Assignment #0 Textbook, Chapter 2.2

Homework - 2.2: 2-6, 9, 10

Orders of Growth
08/31/16 Nonrecursive Analysis Textbook, Chapter 2.3

Homework - 2.3: 1, 2, 4, 5, 11, 12

Nonrecursive Analysis
09/02/16 Recursive Analysis Quiz #1 Textbook, Chapter 2.4

Homework - 2.4: 1, 2, 3, 8, 12

Recursive Analysis
09/05/16 Labor Day Holiday -- No Class
09/07/16 Recursive Analysis Textbook, Chapter 2.5

Homework - 2.5:2,3,7,8

Fibonacci
09/09/16 Brute-force Quiz #2 Textbook, Chapter 3.1-3.2

Homework - 3.1:4,6,8,9; 3.2: 1, 4

Brute Force
09/12/16 Exhaustive Search Textbook, Chapter 3.4

Homework - 3.4: 1, 2, 4

Exhaustive Search
09/14/16 Tree Searching Textbook, Chapter 3.5

Homework - 3.5: 1, 2, 4, 6, 8

Graph Traversal
09/16/16 Insertion Sort Quiz #3 Textbook, Chapter 4.1

Homework - 4.1: 2, 4, 5, 6, 9

Insertion Sort
09/19/16 Topological Sort Textbook, Chapter 4.2

Homework - 4.2: 1, 5, 6, 9, 10

Topological Sort
09/21/16 Binary Search Textbook, Chapter 4.4

Homework - 4.4: 1, 3, 4, 7, 10, 11

Binary Search
09/23/16 Variable Decrease Algorithms Quiz #4 Textbook, Chapter 4.5

Homework - 4.5:2,4,6,7,13

Variable Decrease
09/26/16 Merge Sort Textbook, Chapter 5.1

Homework - 5.1: 2, 4, 7, 8, 9, 11

Mergesort
09/28/16 Quick Sort Textbook, Chapter 5.2

Homework - 5.2: 1, 2, 3, 5, 7, 8

Quicksort
09/30/16 Further Divide-and-conquer Quiz #5 Textbook, Chapter 5.3-5.5

Homework - 5.3:2,3,7,8a,11; 5.4:2,5,7,9

Divide-and-conquer
10/03/16 Presorting Textbook, Chapter 6.1

Homework - 6.1:2,4,5,7,9,11a

Presorting
10/05/16 Exam Review

10/07/16 Mid-term Exam
10/10/16 Fall Break -- No Class
10/12/16 Fall Break -- No Class
10/14/16 Fall Break -- No Class
10/17/16 Midterm Review

10/19/16 Gaussian Elimination Textbook, Chapter 6.2

Homework - 6.2:1,4,7

Gaussian Elimination
10/21/16 Balanced Search Trees Quiz #6 Textbook, Chapter 6.3

Homework - 6.3:1,2,4,7,8

Balanced Search Trees
10/24/16 Representation Change Textbook, Chapter 6.4-6.5

Homework - 6.4: 2, 3, 5, 10, 12; 6.5: 3, 4, 10

Heapsort and Horner's Rule
10/26/16 Problem Reduction Textbook, Chapter 6.6

Homework - 6.6: 1, 6, 9, 10, 12

Reduction
10/28/16 String Matching Quiz #7 Textbook, Chapter 7.1-7.2

Homework - 7.2:1-6

String Matching
10/31/16 Prestructuring Textbook, Chapter 7.3-7.4

Homework - 7.3: 1, 3, 5, 7, 8; 7.4: 1, 5

Prestructuring
11/02/16 Dynamic Programming Textbook, Chapter 8.1

Homework - 8.1: 3, 5, 6, 8, 12

Dynamic Programming
11/04/16 Dynamic Programming Quiz #8 Textbook, Chapter 8.2

Homework - 8.2:1, 3, 4, 5, 8

Knapsack
11/07/16 Dynamic Programming Textbook, Chapter 8.3-8.4

Homework - 8.4: 1, 2, 3, 6, 7

Warshall and Floyd
11/09/16 Prim's and Kruskal's Algorithms Textbook, Chapter 9.1-9.2

Homework - 9.1: 3, 5, 9; 9.2: 1, 2, 5

Minimum Spanning Tree
11/11/16 Dijkstra's Algorithm Quiz #9 Textbook, Chapter 9.3

Homework - 9.3: 1, 2, 3, 4, 7

Dijkstra
11/14/16 Huffman's Algorithm Textbook, Chapter 9.4

Homework - 9.4: 1, 3, 4, 6, 7, 8

Huffman
11/16/16 Iterative Improvement Textbook, Chapter 10.1

Homework - 10.1: 2, 3, 5, 8

Linear Programming
11/18/16 Iterative Improvement Quiz #10 Textbook, Chapter 10.2

Homework - 10.2: 1-4, 10

Max Flow
11/21/16 Iterative Improvement Textbook, Chapter 10.3-10.4

Homework - 10.3: 2 (use Ford-Fulkerson), 3; 10.4: 2, 3, 5

Bipartite Matching
11/23/16 Thanksgiving -- No Class
11/25/16 Thanksgiving -- No Class
11/28/16 Lower Bounds and Decision Trees Textbook, Chapter 11.1-11.2

Homework - 11.1: 1, 2, 3ab; 11.2: 1, 3a

Lower Bounds
11/30/16 P, NP, NP-Complete Textbook, Chapter 11.3

Homework - 11.3:6, 7, 8, 11

Complexity
12/02/16 Numerical Algorithms Quiz #11 Textbook, Chapter 11.4

Homework - 11.4: 2, 7, 10

Numerical Analysis
12/05/16 Backtracking Textbook, Chapter 12.1

Homework - 12.1: 2, 5, 6, 11 (no solution)

Backtracking
12/07/16 Branch and Bound Textbook, Chapter 12.2

Homework - 12.2: 1, 2, 3, 9

Branch and Bound
12/09/16 Approximating NP-Hard Problems Quiz #12 Textbook, Chapter 12.3

Homework - 12.3: 1, 3, 5, 6

Approximation
12/12/16 Exam Review

12/17/16 Final Exam - 8:00am (sec 002); 10:45am (sec 001)