Skip to content

Schedule

This is the weekly schedule of topics for the course. Please refer to Canvas for an up-to-date schedule of assignments and due dates.

Note

This schedule is subject to change without notice.

Week Date Topic Notes
1 1/21 Introduction to DSA
1/23 Generics & Collections
2 1/28 ArrayLists
1/30 Programming Iterators
3 2/4 Analysis of Algorithms
PA 1: Part A Due (Wednesday)
2/6 More Analysis
4 2/11 NO CLASS Dynamic Arrays/Amortized Analysis (Video Lecture)
2/12 PA 1: Parts B & C Due (Wednesday)
2/13 Linked Lists
5 2/18 Stacks and Queues
2/20 Stacks and Queues Lab
6 2/25 Review
2/27 Midterm 1
7 3/4 Developing Recurrences
3/6 Analyzing Recurrences
8 3/11 Intro to Sorting PA 2 Due
3/13 Merge and Quick Sort
9 3/18 NO CLASS (Spring Break)
3/20 NO CLASS (Spring Break)
10 3/25 Binary Trees
3/27 Tree Traversals
11 4/1 Binary Search Trees
4/3 AVL Trees
12 4/8 Review PA 3 Due
4/10 Midterm 2
13 4/15 Heaps
4/17 Huffman Coding
14 4/22 Hashing
4/24 Collisions and Open Hashing
15 4/29 Graphs
5/1 Graph Algorithms
16 5/6 Review PA 4 Due
5/8 NO CLASS
17 Tuesday 5/13 Section 3 Final Exam: 8 AM - 10 AM (Not at regular class time)
Wednesday 5/14 Section 4 Final Exam: 10:30 AM - 12:30 PM (Not at regular class time)