Search This Blog

Tuesday, December 1, 2020

Scratch Voting Apps-- a design-based CS project revamped for distance learning

For the last four years around October/November I've enjoyed launching my government & voting unit
with my elementary students followed by a computer science-based design challenge in which we introduced students to some basic coding concepts by creating a digital voting booth. 

Usually I get to use the project to introduce students to physical computing (where they learn some circuitry by creating working buttons with a Raspberry Pi and program the buttons in Scratch). This year, since we are still teaching 100% online, I made a few adjustments for our online format, and wrapped the unit within a design thinking method.

How Might We Make it Easier for More People to Vote?

With this being a presidential election year, my students were hearing a lot about voting this year. And one of the major topics in the news was about helping more people to vote during a pandemic (and to increase participation generally). This current event inspired our guiding question, 'how might we make it easier for more people to vote?'

Our first steps as designers were to learn more about voting, and then to ideate around how we could create systems or items that would make it easier for people to vote. Students suggested everything from door-to-door ballot collectors to apps, buttons installed in our homes to mobile polling places, text messaging services to ballot delivery drones. 

Planning our Voting App

Before we launched into app development, I then tasked the 2nd graders with ideating around what
features they thought our app should have in order to be accessible by many different types of people. I prompted them to think about what helps them learn and understand best. I was impressed by their thoughtful ideas around accessibility elements (sound, images, clear instructions), security and ease of use.

Coding Lessons

For the last several years I've taken a project-based approach to teaching programming to my students. Students begin to learn by copying, and then play with and customize those basic programs to learn more. I have also learned that my students prefer more pictures and lesson text in their coding lessons. 

For this project, I took my previous lesson deck, took out the physical computing, updated it for Scratch 3, and simplified it even more (one to-do per page; a few images and even less text). 

**slides embedded at the end of this post**

Facilitating the Coding Lessons

Previously all of my 2nd graders completing a name animation as their introduction into Scratch, so students had limited knowledge of coding with Scratch, but did have some. The coding work was done during a combination of synchronous and asynchronous sessions. The only explicit direction was when I
taught students how to use the lesson deck and then students followed directions in the slide deck at their own pace to learn how to create and program digital buttons. 

I also chunked out the lesson slides into smaller sections. Part 1 was copied into a smaller deck and assigned separately from parts 2 and 3, so that students could achieve small successes along the way to their final prototype.

As students got stuck or needed help, they were able to get support from peers, 2 parent helpers that volunteered to work online with students twice a week, or from myself. I am lucky to have a Go Guardian district account that allows me to view all of my student's work screens while they are online, so I could talk students through finding what they needed while viewing their screens or sending a quick text message in the Go Guardian platform. When working with our parent helpers or in breakout rooms with their classmates, students could take turns sharing their screens to get the help that they needed.

Presenting our Prototypes & Soliciting Feedback

New this year, I invited several guests (2 board members, a classroom parent and our school principal) to test the students' voting app prototypes and provide some feedback for improvement. It was incredibly motivating for students to know they would have a real audience for their work, and a good opportunity for students to learn how to accept and use feedback, and to reiterate. After the presentation, all students were required to make useful updates to their projects and then publish their second or third iterations to their Seesaw portfolios.

What We Learned

The design thinking approach to this project was a positive update that encouraged more thoughtful work, grounded in empathy, and having an authentic audience for their prototype showcase was a great motivator for students to learn deeply and practice their programming skills carefully. They wanted to showcase work they were proud of, and that kept them engaged in the project for hours at a time.

Next year I look forward to bringing back the physical computing aspect of this project, as well as improving in our empathy work, by finding community members that we can talk to about voting habits so that we have real data with which to guide or design work.