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) |