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 webpage for schedule, readings, and assignment
changes. As the professor, I will attempt to announce any change to
the class, but this webpage 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: 59

Analysis Framework

08/29/16  Algorithm Analysis  Assignment #0 
Textbook, Chapter 2.2
Homework  2.2: 26, 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  Bruteforce  Quiz #2 
Textbook, Chapter 3.13.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 Divideandconquer  Quiz #5 
Textbook, Chapter 5.35.5
Homework  5.3:2,3,7,8a,11; 5.4:2,5,7,9

Divideandconquer

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  Midterm 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.46.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.17.2
Homework  7.2:16

String Matching

10/31/16  Prestructuring  
Textbook, Chapter 7.37.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.38.4
Homework  8.4: 1, 2, 3, 6, 7

Warshall and Floyd

11/09/16  Prim's and Kruskal's Algorithms  
Textbook, Chapter 9.19.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: 14, 10

Max Flow

11/21/16  Iterative Improvement  
Textbook, Chapter 10.310.4
Homework  10.3: 2 (use FordFulkerson), 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.111.2
Homework  11.1: 1, 2, 3ab; 11.2: 1, 3a

Lower Bounds

11/30/16  P, NP, NPComplete  
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 NPHard 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) 

