This past week, I had the chance to teach vibe coding to high school students at my son's school. This was part of the Wintermission program, where teachers and parents get to teach topics not typically covered during the school year—things like baking, debating, and apparently, vibe coding.
I was at the school from 8:15 to 10:15, Monday through Friday. My son was skeptical anybody would sign up, but it turned out I had about 9 students who chose to participate. My son chose not to join—that's a story for another day :)
Going in, I had a rough plan for the week since I had to share something ahead of time. Here's how the week actually turned out:
Day 1: Use Claude to create a personal profile page with some gamification (e.g., a quiz to help others learn about the individual). Save the profile, open it in VS Code, make a change manually (like adding a profile picture), and share it with the class.
Day 2: Set up GitHub accounts and create repos. Check in the previously created profile page. Generate ideas for a group project, vote on the best ones, and form teams. We ended up with three teams—one building a Minecraft clone, one building a bullet hell game, and one creating an expense tracker.
Day 3: Created repos for each project. The teams had a clear vision for what they wanted to build and wrote detailed specifications—defining things like stone types, tools, rendering, and sprites for different characters. They also drew characters by hand and started generating sprites using pixel art. Then they presented their plans to the class and kicked off execution.
Day 4: They worked on building. By midpoint, each team showed an early proof of concept for feedback and discussion.
Day 5: Final presentations. They shared what they built and their learnings on vibe coding and the tools they used.
Key takeaways:
- None of them had paid subscriptions to Claude or any other AI tools. They were resourceful, using free tiers of Claude, Gemini, Copilot, and even LMArena to generate code.
- They weren't using AI for things they really cared about, like character design—those they did manually. It was impressive to see the thought and detail that went into the character art.
- A couple of them had coding experience (Python, some JavaScript). Still, more than 95% of the code was AI-generated—over 1,000 lines per project.
- Their use of AI tools had been limited before this. They were genuinely impressed with how much they could accomplish in a short time. One student who codes in Python said this would have taken him a month on his own. That says a lot.