instagram

The Bootstrap Blog

When Kids Just Want to Learn a Lot of CS

This blog post is shared by Paul Wolf, a high school teacher from Arkansas.

As a teacher, I love to pass the joy of building interactive games out of simple parts on to my students. One of my earliest memories is watching my dad program his state-of-the-art TRS-80, and as a middle schooler I would spend hours trying to make funny programs using QBASIC with my cousins at Thanksgiving.

In the fall semester of 2024, my high school Programming 1 students designed and built video games in Pyret using the design methods taught in the Bootstrap:Reactive materials, Bootstrap:Data Science, exercises in A Data-Centric Introduction to Computing and the Brown Computing Foundations: Data course. By the end everyone had a game that matched their creative vision, and some had a newfound enjoyment and interest in programming.

I am honored with the opportunity to share our process and results with you here. It is my hope that readers will take our work and run with it. If you are like me and want to skip to the goods, here are the files. Like the authors of DCIC, I kept many of the errors for the benefit of the reader.

How the Project Came About

The seeds of our project were planted when one of my intrepid coders wanted to make a row of stars for their Reactive Flag Project. I asked about this in the forums and Dr. Emmanuel Schanzer responded with this bit of code: My student ran with it and created this Naval Academy flag: I again reached out to Dr. Schanzer for more ideas when I saw that we would have time to go beyond those lessons (our school is on 90-minute, 18-week long blocks). Over the phone he explained the deeper ideas that underpin Pyret and the curricula that go along with it, and he encouraged me to explore the craziest ideas for programs that me or my students might come up with. I decided to move on to some of the Data Science lessons and double back to video games once they were ready to use lists. I made some tasks out of the DCIC exercises and CS0111 assignments as well.

How the Project Flowed

I had my students spend a good amount of time thinking about their games and the needed data structures in collaborative coding groups. We did daily random seating all semester to keep the ideas flowing. Right before fall break and our Data Science excursion, I told them we were going to go beyond Ninja Cat and had them begin brainstorming possible games. You can see the results of that work here.

When It came time to begin working on the games in full, I used the Spring 2023 Duck Maze task structure to plan the flow. I used a spreadsheet to keep track of everyone's progress, and had everyone answer questions and post updated code links to their own Google slide deck.

Like the Bootstrap assignments, I gave them the needed code when I felt they had done enough of the design work on their own. Some needed starter code to fill in. Others worked on their own once the basic structures were built, and I mostly served as a guide.

The variety of programs meant lots of coding on my part--luckily the deeper you go in Pyret the more fun and rewarding it is!

The Programs

Here are some of the highlights:

Student Feedback Highlights

On how they would describe this class to a friend: On whether they would recommend it to a friend: On what they learned about coding and themselves:

Posted January 7th, 2035