Teaching code with a story.

The first semester I taught, my full-stack class felt like a pile of disconnected exercises: an HTML week, a CSS week, a Node week, a database week. Students learned the material but couldn't tell you why it fit together. So I rebuilt the curriculum around a fictional company.

The premise.

Every assignment, lab, and exam is framed as work for a fictional startup the students are joining. Each module ships a different piece of that company's product. HTML week builds the landing page. Node week stands up the API. Database week persists the customer data. By midterm, the disparate skills have stitched themselves into a working product.

What changed.

Engagement went up the most in the parts of the course that previously felt the most abstract. Students who shrugged at "implement a CRUD endpoint" got invested when the prompt was "your product manager needs a way to export the customer list."

AI in the loop.

I also folded AI-assisted workflows into the labs. Not as a gimmick, but because that is how my students will actually work. We talk about when to ask the model, when not to, and how to read what it gives back critically.

A story carries the load that a textbook can't.

The narrative is the spine. The technical skills are the muscle. Both have to be there for the body of work to move.

← Back to all notes