"Animating our Worlds" with code for Computer Science Education Week 2021

This year was my third year participating in Computer Science Education (CSED) week at Boulder Public Library. Each year I've shared my love for creative computing with CSED week participants in different ways from walk-up activities where we turned musical instruments into digital paint brushes to teacher-focused workshops where we explored creative applications of electronics together.

This year was different. Due to the Covid-19 pandemic, CSED week was hosted online instead of in person as a free series of virtual events. My "Animate Your World" workshop proposal was accepted, making it possible for me to continue my tradition of sharing joyful computing experiences with a community of curious minds.

"Animate Your World" is an activity prompt created by the Tinkering Studio which invites you to tinker with combining webcam input and programming using a feature called "video sensing" in Scratch (a free, beginner-friendly, creative coding website) to create playful mashups of the physical and digital world. Here's an example of a video sensing project that Creative Communities member Mariana created.

mariVideoSensing.gif

I decided to focus on this "Animate Your World" theme for the CSED week workshop after exploring video sensing on my own and with my Creative Communities lab mates and after seeing how much joy this exploration sparked. I hoped that participants would also find joy in this computing experience. Additionally, I wanted to reduce barriers to participation and open up pathways for exploration beyond the workshop. So it was important to me that the workshop tools be free and relatively easy to access. While internet access and a computer with a webcam are required, Scratch is free and there's a good amount of documentation and tutorials that can support participants in continuing their coding explorations.


Here's what the workshop looked like:

We started off with playing and exploring existing video sensing projects that were collected in a Scratch studio that I made. I tried to choose a variety of projects that demonstrated both simple and complex code and spanned different interests such as games and music.

Animate Your World Scratch Studio

Animate Your World Scratch Studio

Next, I demonstrated the basics of using Scratch and video sensing blocks in a short 5-minute demo during which I made a project where I used my head movements to play two virtual instruments.

playingdrumwithhead.gif

This demo helped communicate the essential "ingredients" for a simple video sensing program:

  • Adding the video sensing extension

  • Adding a new sprite

  • Using code to make something happen when there is movement sensed on a sprite

I specifically chose to demonstrate adding two instruments so that participants got a chance to see these steps twice before making their own programs.

Participants then had a few moments to brainstorm and ask questions before we launched into time for them to get started with their own "Animate Your World" projects. Because the workshop was only one hour long, I hoped that participants would be able to get started with an "Animate Your World" program, but I didn't expect that they would finish their programs.


Here are some takeaways from the workshop:

Joyful moments

  • Participants seemed to be having fun and they particularly enjoyed trying out the video sensing projects "save the minifigs!" and "cat herder". One participant was very excited to share their high score from the cat herder game. I saw a lot of moving and wiggling around and a lot of smiles as participants tried out the video sensing projects.

  • The virtual nature of the workshop meant that we had a wide variety of participants from all over the world who might not have been able to attend CSED week in person otherwise.

  • The open age range for the workshop led to a variety of participant ages ranging from adult educators to young children. It was nice to hear questions from youth and educators in the same space, because the answers and the problem-solving process often benefitted both groups.

Stumbling points

  • The most common technical issues we encountered were webcams not working in Scratch and Zoom at the same time. For a couple of participants, turning off their camera in zoom and then refreshing the Scratch page solved the issue. Another participant had another device and was able to stay logged into Zoom on one device, and used Scratch on the other.

  • To allow as much time as possible for creating and to reduce the potential for technical issues, I did not ask participants to share their screens so that I could see what they were working on. Some participants described their projects to the group, but I often didn't have a good sense of what participants were trying and what they created.

  • 1 hour was just enough time to get started. To engage participants in more reflection, sharing, and iteration, we probably needed 1.5 to 2 hours for this workshop.

Things to keep in mind

  • Making time for exploration and play after a short period of instruction is more than a good facilitation move, it also provides some extra time to troubleshoot technical issues with participants without taking time away from other parts of the workshop.

  • Having at least one additional facilitator (thank you Junnan for your support) is extremely helpful. This facilitator can greet participants as they arrive, they can help troubleshoot technical issues, they can monitor the chat, they can share links and resources with participants, and more.

  • To save time and prevent confusion, I didn't ask participants to create or log into Scratch accounts. I encouraged them to log in if they had accounts already and reminded participants at multiple points that if they weren't logged in and wanted to save their projects, they could save the project to their computer or I could help them make an account. This seemed to work for the participants, and it appeared that many had Scratch accounts already.

  • I offered a few different options for participation to the workshop participants. In the event that a participant didn't have access to a device that would work for this workshop, I wanted to be prepared to support their ideas. So I offered the ability for participants to bring me their ideas or to tell me what to try in Scratch, and I would share my screen and realize their ideas. While no one took advantage of this, I believe that it's important to support the different ways that participants might be showing up to a workshop.

This material is based upon work supported by the National Science Foundation under Grant No. 2005764