My notes for when I took this course in Spring 2025, taught by Justin Yokota and Joshua Hug.
Credit to Josh for most of the visual aide I use in these notes!
<aside>
💡
Please submit any errors you might find in the errata, thank you!
</aside>
Course by Week
Week |
Topics |
1 |
An Ontology of Java, Abstract Data Types, Git |
2 |
Bits, Types, Nested Classes, Linked Lists, Arrays, Interactive Debugging |
3 |
Unit Testing, ArrayLists, Interfaces |
4 |
Polymorphism, Comparable, Comparator, Iterables, Object Midterm 1 |
6 |
Asymptotics, Disjoint Sets |
7 |
Binary Search Tree, B-Tree, Left-Leaning Red Black Tree |
8 |
Hash Table, Priority Queue, Heap |
9 |
Traversal, Graphs Midterm 2 |
11 |
Topological Sort, Tries |
12 |
Comparison Sorts |
13 |
Comparison Sorting Lower Bound |
14 |
Alphabet and Radix Sorts Final |

An Ontology of Java, Abstract Data Types, Git
Bits, Types, Nested Classes, Linked Lists, Arrays, Interactive Debugging
Unit Testing, ArrayLists, Interfaces
Polymorphism, Comparable, Comparator, Iterables, Object
Asymptotics, Disjoint Sets
Binary Search Tree, B-Tree, Left-Leaning Red Black Tree
Hash Table, Priority Queue, Heap
Traversal, Graphs
Topological Sort, Tries
Comparison Sorts
Comparison Sorting Lower Bound
Alphabet and Radix Sorts