Thirteen floors lie between you and mastery. Few who enter leave unchanged.
The Hold
What lies below you is what’s left of the Great Library of Algorithms — sixteen floors that once held every craft of computation, now sealed beneath the monastery. When the Unsorted Plague came, it scrambled every shelf, every index, every cataloged beast — and the Library was closed. The Order of the Sorted Tome survives above-ground, and every year it sends one initiate down to recover what the Library lost. This year, that initiate is you.
Brother Faith, Abbot of the Sorted Tome
I made the descent once. I will not say how deep. I returned with one page; it hangs in the antechamber. I will not give you answers — I will show you my stopwatch. You have one semester. Go.
Welcome, adventurer, to COMP 2450 — Data Structures & Algorithms. This semester you will descend through a dungeon of thirteen floors. Each floor teaches a new artifact (data structure) or spell (algorithm) that you will need to survive the ones below. By the end, you will have built a complete text-based dungeon crawler in C++ — not because you were told to, but because each floor’s knowledge unlocked the next piece of it.
The Floors
| Wk | Floor | Name | What you gain |
|---|---|---|---|
| 1 | 0 | The Antechamber | ADTs, abstraction, the adventurer’s vocabulary |
| 2 | 1 | The Scrying Well | Searching & Big-O intuition |
| 3 | 2 | The Sorting Crucible | Merge sort, quicksort, divide-and-conquer |
| 4 | 3 | The Forgemaster’s Vault | Templates & exceptions |
| 5 | Warden I | Warden of the Foundations | Midterm 1 — Floors 0–3 take-home + Friday quiz |
| 5 | 4 | The Chain Vault | Singly-linked lists |
| 6 | 4½ | The Chain Vault, Deeper | Doubly-linked lists, sorted insert |
| 7 | 5 | The Eye of Scrying | Iterators — one spell to walk any container |
| 8 | 6 | The Stacks | LIFO, undo, call-stack intuition |
| 9 | 7 | The Cisterns | FIFO, queues, AI action scheduling |
| 10 | 8 | The Branching Catacombs | Trees — dialog, skills, hierarchy |
| 11 | 9 | The Warden’s Hall | Binary search trees |
| 12 | 9½ | The Balanced Hall | Self-balancing trees |
| 13 | 10 | The Hall of Names | Sets & maps |
| 14 | 11 | The Hall of Whispers | Hash tables — O(1) lookup |
| 15 | 12 | The Labyrinth / Final Descent | Graphs, project capstone, final prep |
The Rules of the Dungeon
- Pre-class. Watch the floor’s video and read the assigned ZyBook sections before arriving.
- In class. MWF 50-minute sessions. We will not re-read the textbook to you. We will wield it.
- Lab. Hands-on exercises. Paired work encouraged.
- The Project. A text-based dungeon crawler you grow every single floor. One unlock per week. By Floor 12 it is a real game.
- Exams. Three boss fights (end of weeks 4, 9, 14) and a cumulative Final Descent.
Before Floor 0
- Install a C++ compiler (
g++or MSVC). See the syllabus for platform notes. - Install a text editor or IDE. VS Code with the C/C++ extension is a good default.
- Read the syllabus.
- Arrive to the first class ready to discuss: what is a data structure, and why should you care?
The gate creaks open. Floor 0 awaits.