VCA-SPK-101: Sparking Curiosity
The course where the curiosity catches fire. SPK-101 is the academy's no-prereq motivational on-ramp. Built for high schoolers, homeschool families, curious adults, and anyone who wonders "how does that work" about the games they grew up with. Students play with NES / Game Boy / SNES emulators on a laptop, modify ROMs, watch their changes appear on screen, and meet the 6502 historical anchor, the processor that ran in the Apple II, Commodore 64, NES, BBC Micro, and Atari 2600. By the end of SPK-101, the student wants to take CSA-101. That's the design.
Classroom
Full course content (weekly modules, labs, capstone packet, instructor guide) lives in the Virtus Cyber Academy classroom, which is in active build. The public preview is on the way.
Course Overview
SPK-101 fills the gateway role left vacant by the academy's FPGA pivot, the point in the curriculum where a high-school student or curious adult discovers they want to know more before they have to commit to FPGA hardware. The chapter uses retro game emulators because the retro game catalogue is the most universally-known cultural artefact in computing. Almost every student arrives knowing what Super Mario Bros looks like, even if they have never played it. SPK-101 takes that recognition and turns it into "you can change this; you can read what's underneath; you can write your own."
The chapter is deliberately not a complete computing-architecture course. It is a spark. Students leave knowing what an emulator is, what a ROM is, what assembly code looks like (in 6502, the friendliest of the 8-bit ISAs), and what the difference is between a game-as-played and a game-as-implemented. The natural next step is CSA-101, where the student starts building the platform from scratch, but SPK-101 is the chapter where they first want to.
Position relative to peer offerings. Codecademy, Khan Academy, and CS50 all offer first-course CS material; none uses the retro-game-modification on-ramp. SPK-101 is the first formal pre-CSA-101 course that treats game-modification as the gateway and that maps the gateway forward into the academy's 14-course pipeline.
What this course feels like. SPK-101 is the academy's lightest course - meant to spark curiosity, not weigh you down. You'll start noticing how different game consoles work in different ways (a habit that pays off across every course you take here). You'll also start a personal "tool journal". A running record of every new tool you meet, so you can come back to it later. The bigger deep-dives. Like tying modern computing back to its historical roots through Charles Petzold's CODE. Come in CSA-101. For now: have fun, build something cool, walk away wanting more.
Curriculum Outline
Six modules, ~6 weeks. Each module is a small playful artefact.
| Module | Topic | Project |
|---|---|---|
| 1 | Emulators & ROMs, the abstraction | Install Mesen + SameBoy + bsnes-plus; play 5 minutes of each; write what felt different |
| 2 | What is a ROM file? | Hex-dump a NES ROM; identify the iNES header; locate sprite data; modify a sprite |
| 3 | The 6502 ISA. Readable assembly for an 8-bit world | Read 6502 disassembly of a small homebrew; identify the main loop |
| 4 | Game Boy LR35902 vs Z80. Siblings, not twins | Compare disassembly of a Game Boy game and a Z80 game; spot the differences |
| 5 | SNES vs NES, what the 16-bit successor brought | Read SNES headers; observe the larger memory map; play a SNES game with 16-bit colour |
| 6 | Capstone. Modify a ROM, write up the change | Pick any ROM; modify one visible aspect (sprite colour, level layout, sound); 1-page writeup |
Learning Outcomes
- Remember. State the names of the 6502, LR35902, and SNES 65C816; what each was used in; the years they were active.
- Understand. Explain what an emulator is and why it exists; explain what a ROM is and how it differs from an executable.
- Apply. Modify a ROM file at the byte level; observe the change in the emulator.
- Apply. Read a small piece of 6502 disassembly and identify the program flow.
- Synthesize. Pick a ROM, decide on a modification, plan the change, ship it, write a 1-page report on what you did.
Hands-On Labs
16 labs across 6 weeks. Full lab specifications at /courses/spk-101/labs/.
- Lab 0.0: install and verify (pre-week-1 check).
- Labs 1.1-1.2: install Mesen + a guided tour of its tools.
- Labs 2.1-2.2: decode an INES header byte-by-byte + find a sprite tile in CHR-ROM.
- Labs 3.1-3.2: work through Easy 6502 + step through 50 instructions in Mesen's debugger.
- Labs 4.1-4.4: four ROM hacks (palette swap, text swap, sprite redesign, gameplay value change).
- Labs 5.1-5.2: boot and decode Game Boy + SNES ROM headers.
- Labs 6.1-6.3: capstone scoping, execution, and write-up.
Assessment
First, your project must work. capstone modified ROM works in the emulator; 1-page writeup submitted. Then we score the report. creativity of the modification (50%) · coherence of the writeup (30%) · thoughtfulness about "what surprised you" (20%). B− minimum on Tier 2 for the certificate.
Career Outcomes & Cross-Course Bridges
- → VCA-CSA-101. The natural next step. SPK-101 graduates arrive at CSA-101 already wanting to know what makes the emulator work.
- → VCA-CON-101. Direct continuation: same retro consoles, but now you build the soft cores instead of using the emulators.
- → VCA-FND-101 + FND-102. Foundations of digital + Python; required prereqs to CSA-101.
- HS / homeschool. A high-school student finishing SPK-101 has a portfolio piece (the modified ROM + writeup) that demonstrates curiosity-and-execution to college admissions.
Tool Journal: SPK-101 Originating Entries
SPK-101 introduces the journal pattern at low intensity; ~5 entries.
- Mesen, the open-source NES emulator with debugger; first emulator most students see
- SameBoy. Cycle-accurate Game Boy emulator
- bsnes-plus, SNES emulator with debugger
- Hex editor (HxD on Windows;
hexdumpon Linux/macOS). First byte-level ROM manipulation - cc65 / da65, the 6502 assembler / disassembler (light intro use)
Before You Start
- Can you install software on your laptop? (If no → the academy's 30-min "installing software safely" preflight tutorial.)
- Have you played a video game? (If no → play Super Mario Bros or Tetris for an hour; the chapter assumes a player's relationship to the artefact.)
- Are you comfortable using a hex editor or hex dumper? (If no → SPK-101 introduces it; this is a soft prereq.)
- Do you have a laptop running Linux, macOS, or Windows 10+? (If no → emulators run on all three.)
- Do you understand the legal status of ROMs? (If no → SPK-101 Module 1 covers it: use homebrew open-source ROMs OR ROMs from cartridges you legally own.)
Format Prescriptions
Hour budget: ~10 lec hr + ~25 lab hr + ~15 indep hr (= ~50 hr total). The lightest course in the academy.
Live
1 session/wk × 90 min over 6 weeks. Best as a Saturday-morning HS or homeschool-co-op cadence.
Night class
1 session/wk evenings; 8 weeks.
Bootcamp
20 hr/wk × 2.5 weeks. Or a 3-day intensive at a homeschool conference.
Async self-paced
Recorded video; emulators are free; AI-assistant tier add-on for ROM hex questions; 1:1 tutoring premium not typically needed.
High school / homeschool co-op
The course's intended primary delivery format. Adapted to fit a quarter (~9 weeks at 30 min/day) or one semester (~14 weeks).