We Can Code IT Engages Kids In Computer Science — Offline

When Esperanza, a Cleveland-based after-school and mentorship program for the hispanic community in Cleveland, called We Can Code IT and asked us to host a computer science workshop for middle school and high school kids, we jumped at the chance. Esperanza provides significant educational support to students and their families. They out to organizations in the community to give students the opportunity to learn about a wide variety of careers from presenters such as We Can Code IT.

We were ready to teach kids how to code using a our Create your own Virtual Pet in Scratch workbook.  Esperanza was prepared on their end with a brand new computer center.  Everything was in place to get kids coding during the week of an Hour of Code. And then the inevitable happened. Esperanza’s new computers went down right as we were getting started. This could have been disastrous, but we came prepared. We just so happened to have our Unplugged Code activity handy. Unplugged Code  is an offline computational thinking activity posted here on our blog.

We put Code Unplugged to work! Each of the four teams of students were assigned a paper product. We asked them to create instructions, an algorithm, for creating the object. They weren’t to indicate what the object was in any way to the other teams. When they were finished writing down their algorithm, they would swap these instructions with another team. The other team’s job was to use the instructions to try to recreate the object — without knowing what it was.

The objects assigned to the groups were a paper airplane, a paper fan, a paper box, and a paper fortune teller game. The teams quickly got to work writing down their algorithms for how to make the objects. We explained that writing algorithms is an important part of computer programming, and it helps programmers understand the path they’re going to take to meet end computational goals. Writing instructions beforehand requires software engineers to think through every step of the programming process in great detail, saving time and frustration in the long run. Just like a recipe, if the students left out any step or weren’t specific enough, the team trying to creating the object would run into problems. Problems like that are a sign that the algorithm has a “bug.”

Most teams assigned one team member to write down instructions with input from all other teammates, while another team member tested out the instructions as each step was written. This was great to see since testing is such an important part of programming. The students were engaged while testing their products and communicating with teammates.

After a half hour of writing down their specific instructions for creating the paper objects, we collected the instructions and gave them to different teams. Those teams then had to try to create the objects using the instructions in front of them.

Two of the teams created impeccable instructions, so the recipients of their algorithms were able to create the objects without help. The other two teams asked for further instruction. The teams who wrote the instructions assigned to them sent a teammate over to help provide brief clarity. This allowed the creators of that algorithm to get feedback in order to help debug the instructions.

By the end of the class, all of the teams had created objects using the instructions they were assigned.

The kids explored many computational thinking concepts, algorithms, sequences, testing, debugging, communication, and teamwork — all completely offline. It was a successful exercise in computational thinking that engaged and motivated kids without the use of a computer.

They were also sent home with Create a Virtual Pet in Scratch workbooks. The workbooks include a lot of lessons in writing pseudocode just like they had created in the offline exercise. If you’d like to teach a Scratch workshop on your own, please download it by clicking the button below.