| Week | Date | Topics | Textbook Readings | Course Media Videos | Homework
       Assignments  | 
|---|---|---|---|---|---|
| 1 | May 12 | Syllabus, Intro,  Math Review  | 
  1.1 - 1.3 | Math Proof exercises (Ch 1) UNIX: Hints, Tips, Tricks, and useful core commands  | 
  |
| May 14 | COP 3330 review topics, Some C++11 features  | 
  1.4 - 1.7 | Review: Template functions and classes | ||
| May 16 | Quick template review R-value references  | 
  ||||
| 2 | May 19 | Intro to Iterators Functors  | 
  Assignment #1 - due May 29 | ||
| May 21 | Functors Algorithm Analysis  | 
  Chapter 2 | Lesson Ch2: Algorithm Analysis Max Subsequence Algorithms (1 and 2)  |             
  ||
| May 23 | Algorithm Analysis | Demo: Finding the crash point for a segmentation fault | |||
| 3 | May 26 | Memorial Day Holiday | (no classes) | ||
| May 28 | ADTs, Iterators, Vectors | 3.1 - 3.4 | |||
| May 30 | Linked List (STL interface) | 3.5 | Assignment #2 - due June 9 | ||
| 4 | June 2 | Linked List (STL interface) Stacks  | 
  3.6 | ||
| June 4 | Stacks | 3.6 | |||
| June 6 | Queues | 3.7 | |||
| 5 | June 9 | Deques Trees Intro  | 
  Assignment #3 - due June 20 | ||
| June 11 | Test 1 | ||||
| June 13 | Trees Intro Binary Trees  | 
  4.1 - 4.2 | |||
| 6 | June 16 | Binary Search Trees | 4.3 | ||
| June 18 | AVL Trees | 4.4 | |||
| June 20 | (no class) | ||||
| 7 | June 23 | AVL Trees B-Trees  | 
  4.7 - 4.8 | Lesson -- B-Trees | Assignment #4 - due July 2 | 
| June 25 | B-Trees Hash Functions  | 
  5.1 - 5.2 | |||
| June 27 | Hash tables -- Separate Chaining Hash Tables -- Probing  | 
  5.3 - 5.6 | |||
| 8 | June 30 | Hash Tables -- Probing STL libaries with hash tables  | 
  |||
| July 2 | Binary Heaps and Priority Queues | 6.1 - 6.3, 6.9 | Assignment #5 - due July 15 | ||
| July 4 | Independence Day Holiday | (no classes) | |||
| 9 | July 7 | Binary Heaps and Priority Queues | |||
| July 9 | Test 2 | ||||
| July 11 | Sorting algorithms (Simple sorting) | 7.1 - 7.3 | |||
| 10 | July 14 | Sorting algorithms (Simple, Shell Sort) | 7.4 | ||
| July 16 | Sorting algorithms (Heap sort, Merge sort) | 7.5 - 7.6 | Assignment #6 - July 28 | ||
| July 18 | (No class) | ||||
| 11 | July 21 | Sorting algorithms (quicksort) | 7.7 | ||
| July 23 | Graphs intro | 9.1 - 9.2 | |||
| July 25 | Graphs (shortest path algorithms) | 9.3 | Lesson Ch 9: Graphs - Shortest Path algorithms | ||
| 12 | July 28 | Final Exam review | |||
| July 30 | Final Exam |