This past winter break, Skokie Public Library experimented with offering a variety of 3-day camps for patrons grades K-5, all in some way connected to STEAM topics. One camp for grades K-2 focused on coding using Scratch Jr., a free iOS app that is an adaptation of the web-based, visual programming language Scratch intended for younger audiences. We chose Scratch Jr. for several reasons. The fact that the platform is free is a big one. We also looked at this camp as an opportunity to extend learning beyond the library’s walls into the youths’ homes–and thus the camp was a gateway to use the web-based Scratch 2.0 to continue developing coding skills at home.

As we planned this 3-day camp, we looked at a free educator resource guide for suggested structuring and inspiration. That guide is for a multi-week program, which we drastically shortened and modified for our 3-day, 3-hours-total model. Here’s what we did.

Students in grades K-2 learn basic coding skills in Scratch Boot Camp.

Students in grades K-2 learn basic coding skills in Scratch Boot Camp.

Day 1: We started out asking the participants what they thought coding meant. Two of the participants had previous experience with coding, and so they were able to help fill in the definition for their peers. We talked about how coding is like understanding a language–commands, like words, mean different things, and by stringing together commands we’re able to create detailed instructions, much like telling a story through sentences. From there, we did two icebreaker activities, both to help the kids understand instructions and sequencing and how they are critical in coding. First we played a game of Simon Says, taking a moment to talk about how computers cannot “mishear” code in the way humans can mishear instructions. Then we played Code the Teacher: kids took turns giving a single instruction to one of the program presenters with the goal of getting that presenter to move across the room and sit in a chair. This activity proved both engaging and challenging–for many kids, this was the first time they’d really thought about an action in single, step-by-step movements. From there, we handed out iPads and introduced the motion command blocks in Scratch Jr. We used the remainder of our hour for free exploration, with the presenters walking around the room to provide assistance and small challenges to kids on an individual basis. Before we adjourned for day 1, we made sure all the kids knew how to close out of the app while saving their progress.

Day 2: We kicked off the second day by repeating the Code the Teacher ice breaker, this time with a slightly more difficult challenge. This time, instead of getting the presenter to a chair and to sit down, the kids had to “code” the presenter to approach a bookshelf, select a book, open it, and begin to read. This challenge got kids thinking more deeply about giving very specific instructions; if a child gave instructions that were too vague or open ended, we’d say that the teacher “could not compute” the code and a new instruction was needed. After debriefing from that ice breaker, we once again demonstrated some of the commands in Scratch Jr., this time the appearance blocks and how to modify both the characters and backgrounds. Be forewarned: once kids know how to play around with the aesthetics and designs in Scratch Jr., they’re going to excitedly channel a lot of their time into that activity. We left about 30 minutes of day two for exploration and playing with all the commands kids had learned. With a bit of time left, we explained the goal for the final day of the camp in case any kids wanted to get started: creating a program in Scratch Jr. that would tell a story.

A second grader works on their Scratch Jr. project.

A second grader works on their Scratch Jr. project.

Day 3: We began our final day with the most difficult Code the Teacher ice breaker yet: kids had to give discrete, specific instructions to move the presenter across the room to pick up a cup, go to the sink, fill the cup with water, and drink from the cup. It was clear by the middle of the ice breaker that kids had really grasped the concept of giving specific instructions, as they started to offer them much more quickly and dexterously. Before the kids jumped into their final coding time, we demonstrated how to add multiple pages to a code; this allows coders to add multiple scenes to their story. With iPads in hand, the kids dove into completing their stories. Once again, the presenters moved about the room to help kids troubleshoot their story programs. There was so much creativity and new skill on display! With about 10 minutes left in the program, we invited participants’ families into the program room for a showcase of all the kids’ projects. Many parents asked how they could help their kids continue to code at home.

This camp went over incredibly well with the youth participants. Retention of the 11 participants over the course of 3 days was 91%. We also had three staff members available to help with troubleshooting during exploration times. Aside from staff time, the cost of this program was zero; we already owned a classroom iPad set and the app was free to download. No other supplies were needed. All things considered, the resources that went into this program were definitely worth the learning and experiences of the young coders.

If you’re looking to do a similar coding program, we can’t stress enough how great it is to provide an opportunity to showcase youth projects; this presentation aspect added value to the youth learning experience, as kids were able to share what they’d made and take pride in their new skills. And adult caregivers appreciated seeing what their children made, a great way to help drive home the value of library programming.