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/25/16  Introduction 

Course syllabus (link)
Textbook, chapter 1
Homework  1.1: 6, 12; 1.2: 1, 2; 1.3: 4, 5; 2.1: 5, 6, 8
Assignment #0  Introductions (link)

Introduction

08/30/16  Algorithm Analysis  Assignment #0 
Textbook, Chapter 2.12.2
Homework  2.2:26,9,10

Orders of Growth

09/01/16  Nonrecursive Analysis  Quiz #1 
Textbook, Chapter 2.3
Homework  2.3:1,2,4,5,11,12

Nonrecursive Analysis

09/06/16  Recursive Analysis  
Textbook, Chapter 2.42.5
Homework  2.4:1,2,3,8,12 ;2.5:2,3,7,8

Recursive Analysis

09/08/16  Bruteforce  Quiz #2 
Textbook, Chapter 3.13.2
Homework  3.1:4,6,8,9; 3.2: 1, 4

Brute Force

09/13/16  Exhaustive Search  
Textbook, Chapter 3.4
Homework  3.4:1,4 ; 3.5: 1,2,3

Exhaustive Search

09/15/16  Tree Searching and Insertion Sort  Quiz #3 
Textbook, Chapter 3.5, 4.1
Homework  3.5:4, 6, 7 ; 4.1:2, 4, 5, 9, 11

Graph Traversal

09/20/16  Topological Sort and Binary Search  
Textbook, Chapter 4.2, 4.4
Homework  4.2:1, 5, 9; 4.4: 2, 3

Topological Sort

09/22/16  Variable Decrease Algorithms  Quiz #4 
Textbook, Chapter 4.5
Homework  4.5:2,4,6,7,13

Variable Decrease

09/27/16  Merge Sort  
Textbook, Chapter 5.1
Homework  5.1: 4, 7, 8, 9

Mergesort

09/29/16  Quick Sort  Quiz #5 
Textbook, Chapter 5.2
Homework  5.2:1,2,3,5,7,8

Quicksort

10/04/16  Further Divideandconquer  
Textbook, Chapter 5.35.5
Homework  5.3: 2, 3, 8a, 11; 5.4: 2, 7

Divideandconquer

10/06/16  Midterm Exam 
10/11/16  Fall Break  No Class 
10/13/16  Fall Break  No Class 
10/18/16  Exam recap and Presorting  
Textbook, Chapter 6.1
Homework  6.1: 2, 4, 5

Presorting

10/20/16  Gaussian Elimination and Balanced Search Trees  Quiz #6 
Textbook, Chapter 6.26.3
Homework  6.2:1, 4, 7 ; 6.3:2, 4, 7

GE and Balanced Trees

10/25/16  Representation Change  
Textbook, Chapter 6.46.5
Homework  6.4: 3, 6, 7, 8, 10; 6.5: 4, 7

Heapsort and Horner's Rule

10/27/16  Problem Reduction  Quiz #7 
Textbook, Chapter 6.6
Homework  6.6: 1, 6, 9, 10, 12

Problem Reduction

11/01/16  String Matching and Hashing  
Textbook, Chapter 7.17.3
Homework  7.2:35; 7.3:3, 7, 8

String Matching

11/03/16  Dynamic Programming  Quiz #8 
Textbook, Chapter 8.18.2
Homework  8.1: 3, 5, 6, 7, 8, 12; 8.2: 1, 3, 4, 5, 8

Dynamic Programming

11/08/16  Dynamic Programming and Prim's Algorithm  
Textbook, Chapter 8.38.4, 9.1
Homework  8.4: 1, 6, 7; 9.1: 3, 9a

Warshall, Floyd, Prim

11/10/16  Kruskal's and Dijkstra's Algorithms  Quiz #9 
Textbook, Chapter 9.29.3
Homework  9.2: 1, 2, 4, 5; 9.3: 2, 3, 4, 7

Kruskal and Dijkstra

11/15/16  Huffman's Algorithm  
Textbook, Chapter 9.4, 10.1
Homework  9.4: 1, 3, 4, 8; 10.1: 2

Huffman

11/17/16  Iterative Improvement  Quiz #10 
Textbook, Chapter 10.110.2
Homework  10.1: 3, 5, 8; 10.2: 14, 10

Linear Programming

11/22/16  Iterative Improvement  
Textbook, Chapter 10.310.4
Homework  10.3: 2, 3; 10.4: 2, 3, 5

Bipartite Matching

11/24/16  Thanksgiving  No Class 
11/29/16  Lower Bound Arguments and Decision Trees  
Textbook, Chapter 11.111.2
Homework  11.1: 1, 2, 3ab; 11.2: 1, 3a

Lower Bound

12/01/16  Numerical Algorithms  Quiz #11 
Textbook, Chapter 11.4
Homework  11.4: 2, 7, 10

Numerical Analysis

12/06/16  Backtracking and Branch and Bound  
Textbook, Chapter 12.112.2
Homework  12.1: 2, 5, 6, 11 (no solution); 12.2: 1, 2, 3, 9

Backtracking

12/08/16  Approximating NPHard Problems  Quiz #12 
Textbook, Chapter 12.3
Homework  12.3:1,3,5,6

Approximation

12/15/16  Final Exam  8:30am  11:00am 

