Weekly Schedule
Each lesson combines authored explanations, worked Java examples, guided practice, and an optional AI study assistant.
| Week | Module & Topic | Core Ideas | Lesson | Assignment |
|---|---|---|---|---|
| First Half: From Arrays to Collections | ||||
| 1 | Advanced Arrays & Dynamic Arrays Memory, resizing, multidimensional arrays |
Prefix sums, binary search, two pointers | Explore arrays | |
| 2 | Complexity Analysis & Linked Lists Measure algorithms and compare representations |
Big-O, singly/doubly linked lists | Analyze structures | |
| 3 | Basic Sorting, Stacks & Queues Order data and constrain access |
Iterative sorts, stacks, queues, deques | Build linear tools | |
| 4 | Heaps, Hash Tables & Collections Move from implementations to Java's library |
Priority, hashing, List/Set/Map/Queue | Choose collections | |
| Second Half: From Trees to Graph Algorithms | ||||
| 5 | Trees & Foundations of Recursion Let structure guide the recursive solution |
Call stacks, traversals, height, diameter | Think recursively | |
| 6 | Recursive Algorithms & Backtracking Divide, combine, choose, and undo |
Merge/quick sort, quickselect, N-Queens | Trace recursion | |
| 7 | Tree Search, DFS/BFS & BSTs Turn traversal order into search behavior |
BST operations, DFS, BFS, AVL intuition | Search trees | |
| 8 | Graph Algorithms & Applications Model relationships, routes, and dependencies |
Traversal, Union-Find, MST, Dijkstra | Explore graphs | |
Optional Java Enrichment
Ungraded lessons that broaden the language skills supporting the course.
Bonus lesson
Java Exceptions
Checked and unchecked exceptions, recovery, and useful diagnostics.
Bonus lesson
Java I/O
Byte and character streams, buffering, files, and resource safety.
Bonus lesson
Multithreading
Concurrency, race conditions, synchronization, locks, and deadlocks.
Final Project
Route Planner
Combine maps, hashing, priority queues, BFS, and Dijkstra's algorithm to find and explain routes through a weighted road network.