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

adts.drawio.png


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