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:
- None of them had a paid subscription to Claude or any of the other AI tools. They were resourceful in using free tier of Claude, Gemini, Copilot and even LLMArena to generate code for the project.
- They were not using AI to do things they really cared about like characters and did them manually. It was impressive to see the the level of thought and detail that went into the character art.
- Couple of them had coding experience like Python and some Javascript. More than 95% of the code was generated (over 1000 lines per project).
- Their use of AI tools was limited prior to this experience, and they were truly impressed with how much they were able to do in a short time. One of the kids who codes Python said it would have taken him a month to do this work. That says a lot!
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.