Schedule

NOTE: This schedule is tentative, for your reference, and subject to change.

Monday
Wednesday
Friday
Monday, January 6
Intro
reading:
  • Carrano & Henry : Chapter 10
  • Epp : Chapter 11.2 - 11.3
Wednesday, January 8
Code Reasoning and Analysis
reading:
  • Carrano & Henry : Chapter 10
  • Epp : Chapter 11.2 - 11.3
Friday, January 10
Iterative Correctness
reading:
  • Epp : Chapter 5.2 - 5.3
  • Review : Epp Chapter 4, 5.1
Monday, January 13
Iterative Sorts -- Selection
reading:
  • Carrano & Henry : Chapter 11.1.1 (Selection Sort), A.3, A.6 (functions, arrays)
  • Epp : Chapter 5.5 (Loop Invariants)
Wednesday, January 15
SNOW DAY!!
reading:
  • Carrano & Henry : Chapter 11.1.3 (Insertion Sort)
  • Epp : Chapter 5.5 (Loop Invariants)
Friday, January 17
Insertion Sort
reading:
  • Carrano & Henry : Ch 4 (Linked Lists), Ch C2.1 -- C2.3, C2.5 (Pointers, memory allocation)
Monday, January 20
Linear Structures -- Linked Lists
reading:
  • Carrano & Henry : Chapter 4 (Linked Lists), Chapter C1.1 (Constructors and Destructors)
Wednesday, January 22
Linked Lists
reading:
  • Carrano & Henry : Chapter 6 (Stacks), Chapter 1.4, C1.1 - C1.4
Friday, January 24
Linked lists, fin
reading:
  • Carrano & Henry : Chapter 13.1 - 13.2 (Queue ADT)
Monday, January 27
Stacks and Array resizing
reading:
  • Carrano & Henry : Chapter 2 (Recursion), Chapter 11.2.1 (Merge sort)
  • Epp : Chapter 5.6 - 5.7 (Recurrence relations)
Wednesday, January 29
Queues
Friday, January 31
Merge Sort analysis
reading:
  • Carrano & Henry : Chapter 15.1 (Tree Terminology)
Monday, February 3
Sorting Complexity
reading:
  • Carrano & Henry : Chapter 15.1 - 15.2 (Tree Terminology, binary trees and traversal)
Wednesday, February 5
Trees intro
reading:
  • Carrano & Henry : Chapter 15.1 - 15.2 (Tree Terminology, binary trees and traversal)
Friday, February 7
Trees -- definitions
reading:
  • Carrano & Henry : Chapter 18.1 (Dictionary)
Monday, February 10
Traversals
reading:
  • Carrano & Henry : Chapter 15.3, 16.1 - 16.3 (BST)
Wednesday, February 12
BST Intro
reading:
  • Carrano & Henry : Chapter 19.5 (AVL Trees)
Friday, February 14
BST insert remove
reading:
  • Carrano & Henry : Chapter 19.5 (AVL Trees), Chapter 19.4 (end - rotations)
Monday, February 24
AVL Intro
Wednesday, February 26
AVL Rotations
reading:
  • Carrano & Henry : Chapter 18.4.1 (Hash Functions)
Friday, February 28
AVL Analysis
reading:
  • Carrano & Henry : Chapter 18.4.2 (Collision Resolution)
Monday, March 2
B-Trees Defn
reading:
  • Carrano & Henry : Chapter 18.4.6 (Chaining)
Wednesday, March 4
BTrees Analysis
reading:
  • Carrano & Henry : Chapter 21.2.5 (B-Trees)
Friday, March 6
Hashing Intro
reading:
  • Carrano & Henry : Chapter 18.4.1 (Hash Functions)
Monday, March 9
Hashing
reading:
  • Carrano & Henry : Chapter 13.3 (ADT Priority Queue), Chapter 17.1 - 17.3 (Heap)
Wednesday, March 11
PQs, Heaps
reading:
  • Carrano & Henry : Chapter 13.3 (ADT Priority Queue), Chapter 17.1 - 17.3 (Heap)
Friday, March 13
Priority Queues
reading:
  • Carrano & Henry : Chapter 17.4 (Heap Sort), https://en.wikipedia.org/wiki/Disjoint-set_data_structure
Monday, March 16
Heaps
Wednesday, March 18
Disjoint Sets Fin
reading:
  • Carrano & Henry : Chapter 20.1 - 20.2 (Graph Terminology and ADT)
Friday, March 20
Graph Intro
reading:
  • Carrano & Henry : Chapter 20.2 - 20.3 (Implementations and traversals)
Monday, March 23
Graph Edges
reading:
  • Carrano & Henry : Chapter 20.3.1 (DFS)
Wednesday, March 25
Graph Implementation
reading:
  • Carrano & Henry : Chapter 20.3.2 (BFS)
Friday, March 27
BFS
Monday, March 30
DFS
Wednesday, April 1
Spanning Trees Kruskal's
reading:
  • Carrano & Henry : Chapter 20.4.2 - 20.4.3 (Spanning trees and minimum spanning trees)
Friday, April 3
Spanning Trees Prim's
reading:
  • Carrano & Henry : Chapter 20.4.2 - 20.4.3 (Spanning trees and minimum spanning trees)
Monday, April 6
Shortest Paths Dijkstra's
reading:
  • Carrano & Henry : Chapter 20.4.4 (Shortest paths)
Wednesday, April 8
Shortest Paths Dijkstra's