| Date | Topic | Required Reading | Notes | Assignments Out | Slides |
|---|---|---|---|---|---|
| 1/11 | Introduction, data structures, ADTs, abstraction, interfaces/implementation | ||||
| 1/16 | (Snow day) | Project 1, due on Moodle Mon 1/29, 11:59pm | |||
| 1/18 | C++ review | ||||
| 1/23 | Vector ADT | IntVector.h IntVector.cpp | |||
| 1/25 | Analysis of algorithms, big-oh notation | ||||
| 1/30 | Big-oh continued | ||||
| 2/1 | List ADT, singly linked lists | Project 2, due on Moodle Tue 2/13, 11:59pm | |||
| 2/6 | Doubly-linked lists, started stacks | ||||
| 2/8 | Finished stacks, queues | ||||
| 2/13 | Quadratic sorting | Homework 1, due in class Tue Feb 20 | |||
| 2/15 | Trees, binary trees, started binary search trees | Project 3, due on Moodle Fri 3/2, 5:00pm | |||
| 2/20 | More binary search trees, started set ADT | ||||
| 2/22 | Midterm I | ||||
| 2/27 | Binary search trees | ||||
| 3/1 | Binary search trees | ||||
| 3/6 | Spring break | ||||
| 3/8 | Spring break | ||||
| 3/13 | Hash tables | Project 4, due on Moodle Wed 3/28, 5:00pm | |||
| 3/15 | Hash tables | ||||
| 3/20 | Treesort, mergesort | ||||
| 3/22 | Quicksort | ||||
| 3/27 | Priority queues, heaps, heapsort | Homework 2, due in class Tue Apr 3 | |||
| 3/29 | Easter break | ||||
| 4/3 | Finish heapsort, other sorts, exam review | ||||
| 4/5 | Midterm II | Project 5, due on Moodle Mon 4/16 11:59pm | |||
| 4/10 | Graphs | ||||
| 4/12 | Depth first search, breadth first search | ||||
| 4/17 | Dijkstra's algorithm | Project 6, due on Moodle Mon 4/30 11:59pm | |||
| 4/19 | Red-black trees | ||||
| 4/24 | Red-black trees, continued | ||||
| 4/26 | Course wrapup |