Notes for every class meeting, in the order they are delivered.
| # | Lecture | What we cover |
|---|---|---|
| 1 | The (bitter) Taste of Java | Introductions, syllabus, Java vs. Python, and development environment setup |
| 2 | To Make a Cup of Java, First, You Must Invent the Universe | Primitives, arrays, and Strings |
| 3 | Controlling the Flow of Java | Control flow, method design, and test-driven development |
| 4 | Keeping it Classy | Java class design and object-oriented programming |
| 5 | Inheriting Some Wisdom! | Inheritance, overriding, and the Object superclass |
| 6 | Remember Memory! | Stack vs. heap, references, and garbage collection |
| 7 | Enlisted To List! (Part I) | ArrayLists and dynamic arrays |
| 8 | Enlisted To List! (Part II) | ArrayList implementation and the debugger |
| 9 | Enlisted Again: The Linkening! (Part I) | Linked lists and nodes |
| 10 | Enlisted Again: The Linkening! (Part II) | Iterators and linked-list operations |
| 11 | Stacking Up the Data Structures | Stacks and queues |
| 12 | Analyze This | Total cost functions, big-O notation, runtime analysis |
| 13 | Big-O No! More Runtime Analysis! | More practice with Big-O and runtime analysis |
| 14 | Sorting, Searching, Success! | Analyzing the classic sorting and searching algorithms |
| 15 | The Stack is Calling! | Recursion and the call stack |
| 16 | Their Bark is Worse Than Their Byte: Part I | Trees: vocabulary, structure, and traversals |
| 17 | Their Bark is Worse Than Their Byte: Part II | Binary search trees: insertion, search, and balance |
| 18 | Their Bark is Worse Than Their Byte: Part III | Tries and ternary search trees |
| 19 | Balancing Act | Self-balancing trees |
| 20 | Heaping on the Data Structures | Heaps and priority queues |
| 21 | High Priority Programming | PriorityQueue applications |
| 22 | A Sorting Affair | HeapSort and advanced sorting |
| 23 | Hash Out or Crash Out | Hash functions, collisions, and load factor |
| 24 | Hell Hash No Fury! | Rehashing, Maps, and Sets |
| 25 | Warning - Graphic Content! | Graphs and their representations |
Note
Exam review sessions have no notes of their own — see the schedule for dates.