| Date | Topic | Required Reading | Materials | Assignments Out | Slides |
|---|---|---|---|---|---|
| 1/10 | Introduction, data structures, ADTs, abstraction, interfaces/implementation | S&W 1.2 | |||
| 1/15 | C++ review | Fibonacci code | Project 1, due on Moodle Mon 1/28, 11:59pm | ||
| 1/17 | Vector ADT | IntVector.h IntVector.cpp | |||
| 1/22 | Analysis of algorithms, big-oh notation | S&W 1.4 | |||
| 1/24 | Big-oh continued | Telescoping notes | Homework 1, due in class Thu 1/31 | ||
| 1/29 | List ADT, singly linked lists | S&W 1.3 | |||
| 1/31 | Doubly-linked lists | Project 2, due on Moodle Thu 2/14, 11:59pm | |||
| 2/5 | Stacks and queues | S&W 1.3 | |||
| 2/7 | Quadratic sorting | S&W 2.1 (also see handout for bubble sort) | Sorting code | ||
| 2/12 | Finished quadratic sorting | Homework 2, due in class Tue 2/19 | |||
| 2/14 | Trees | Project 3, due on Moodle Tue 3/12, 11:59pm | |||
| 2/19 | Review | ||||
| 2/21 | Midterm I | ||||
| 2/26 | Binary search trees | S&W 3.1, 3.2 | BST code | ||
| 2/28 | Binary search trees | ||||
| 3/5 | Spring break | ||||
| 3/7 | Spring break | ||||
| 3/12 | Binary search trees | Homework 3, due in class Tue 3/19 Project 4, due on Moodle Thu 3/28, 11:59pm |
|||
| 3/14 | Hash tables | S&W 3.4 | |||
| 3/19 | Hash tables | Homework 4, due in class Tue 3/26 | |||
| 3/21 | Mergesort | S&W 2.2 | Mergesort code | ||
| 3/26 | Quicksort | S&W 2.3 | Quicksort code | ||
| 3/28 | Finish quicksort | ||||
| 4/2 | Review | ||||
| 4/4 | Midterm II | ||||
| 4/9 | Priority queues, heaps, heapsort | S&W 2.4 | Heap algorithms code | Project 5, due on Moodle Wed 4/17, 11:59pm | |
| 4/11 | Finish heapsort | ||||
| 4/16 | Graphs, Dijkstra's algorithm | S&W 4.1, 4.2 | Dijkstra's algorithm code | ||
| 4/18 | Easter break | ||||
| 4/23 | Finish Dijkstra's algorithm, graph implementations | Project 6, due on Moodle Thu 5/2, 11:59pm | |||
| 4/25 | Review (with Prof Sanders) |