This past week, I had the chance to teach vibe coding to high school students in my son's school. This was part of wintermission program where teachers and parents get to teach/share programs typically not taught during school year like baking, debating etc. I was at the school from 8:15 to 10:15 Monday to Friday this past week. My son was skeptical any body would sign for vibe coding up, but it turned out I had about 9 students who chose to participate. My son chose not to join and that is for another day :).

Going in, I had a rough plan for the week as I had to share something ahead. Here is to how the week turned out.

Day 1: Use Claude to create one's profile with some gamification (e.g., quiz to learn about the individual). Save the profile and open it in VS Code and make a change manually (e.g., use a profile picture) and share it with the rest of the class.

Day 2: Setup Github accounts and create repos. Check in the previously created profile page to the repo. Generate ideas for a group project; vote for the best ideas and form teams. We had three teams - one group working on a minecraft clone; one group working on a bullet hell game and another on a tool to track expenses.

Day 3: Created repos for the project. They had clear vision how they wanted the games to be and wrote specification for the game defining all the details and behaviors such stone types, tools, rendering and sprites for different characters. They also drew the various characters by hand and started generating sprites using pixel art. And then presented the plan to the class. And kicked off on execution.

Day 4: They worked on building the project. By mid point, they showed an early proof of concept for feedback and discussion.

Day 5: They showed the final presentation. And shared their learnings on vibe coding and the tool they used it.

Key takeaways:

It was fun to spend time with these students and see how quickly they can adapt and build things they cared about. The future is in good hands.