Computer Science 271
Data Structures

Denison
cs271 Schedule Page
Date Lecture   Reading   Homework

Week 1:
Mon Jan 16 Class Introduction      
Wed Jan 18 Insertion sort and analysis   Ch. 1, 2.1-2.2  
Thur Jan 19 Loop invariants and insertion sort correctness      
Fri Jan 20 Algorithm design; merge sort; more correctness   2.3  

Week 2:
Mon Jan 23 No Class: MLK Observance      
Wed Jan 25 Asymptotic Notation   Ch. 3  
Thur Jan 26 Start trees   Ch. 10 (mostly redux) plus 12.1  
Fri Jan 27 Binary trees   12.1 -12.3 Homework 1

Week 3:
Mon Jan 30 Binary Search Trees      
Wed Feb 1 Finish Binary Search Trees      
Thur Feb 2 Binary Heaps   6.1-6.3  
Fri Feb 3 Binary Heaps      

Week 4:
Mon Feb 6 Heapsort   6.4  
Wed Feb 8 Priority Queues; Heap conclusion
  6.5

Thur Feb 9 Recurrences 1: Substitution
  4.3  
Fri Feb 10 Recurrences 2: Tree, Master Thm
  4.4, 4.5
Homework 2

Week 5:
Mon Feb 13 Midterm 1 (7:30)
     
Wed Feb 15 Master Method/Theorem   4.5  
Thur Feb 16 Hash tables - direct mapping   11.1-11.3  
Fri Feb 17 Hash tables - chaining, hash functions      

Week 6:
Mon Feb 20 Midterm 1 Review     Homework 3
Wed Feb 22 Multiplication method hash functions; intro Open Address Hashing   11.4  
Thur Feb 23 Open Address Hash conclusion; Intro Red-black trees   13.1  
Fri Feb 24 Continue Red-black trees: tree height bound, Binary Tree Rotations   13.2-13.3 Hash Table proposal by end of day

Week 7:
Mon Feb 27 Quiz; Red-black Insert by Picture      
Wed Feb 29 Red-black Insert      
Thur Mar 1 no class; hash table work      
Fri Mar 2 Red-black Delete     Homework 4

Week 8:
Mon Mar 5 AVL Trees -- Intro and Insert      
Wed Mar 7 AVL Trees Delete and Basic Analysis   Not in textbook  
Thur Mar 8 Review      
Fri Mar 9 Midterm 2      

Spring Break

Week 9:
Mon Mar 19 Review Midterm      
Wed Mar 21 AVL Deletion Redux; C++ Inheritance; HW5      
Thur Mar 22 Quicksort I   7.1-7.2  
Fri Mar 23 Quicksort II   7.3-7.4  

Week 10:
Mon Mar 26 No Class      
Wed Mar 28 Quicksort wrap   Ch. 8  
Thur Mar 29 Comparison Sort Lower Bound      
Fri Mar 30 Counting Sort     Homework 5

Week 11:
Mon Apr 2 Finish Sorts      
Wed Apr 4 Dynamic Programming I   Ch. 15  
Thur Apr 5 Project Investigation      
Fri Apr 9 Dynamic Programming II     Homework 6

Week 12:
Mon Apr 9 Floyd -Warshall; Intro Multithreaded Algorithms   Ch. 27  
Wed Apr 11 Multithreaded Algorithms     Final Project Proposal
Thur Apr 12        
Fri Apr 13 Midterm 3 (Thursday @ 7pm); no class Friday      

Week 13:
Mon Apr 16 Project Working Sessions      
Wed Apr 18 Project Working Sessions      
Thur Apr 19 Project Working Sessions      
Fri Apr 20 Project Working Sessions     Project Implementation Demo

Week 14:
Mon Apr 23 Final Project: Splay Trees      
Wed Apr 25 Course Eval; Final Project: B-Trees Part I      
Thur Apr 26 Final Project: Quad Tree      
Fri Apr 27 Final Project: Fibonacci Heap      

Mon Apr 30 Final Project: B-Trees Part II      

Wed May 2 Final Exam