When I first started to teach coding, I thought I could just show my students how all the code blocks worked and explain the foundational concepts such as loops, events, and variables. I expected that once they understood the tool, my students would proceed to use their imaginations to create all sorts of wonderful things!
But that's not what happened.
Sure, there were a few high flyers who were immediately bitten by the coding bug and eagerly took off. But most of my class just looked at me expectantly, waiting to be told what to do next. If I gave them an open-ended assignment, they had a tendency to do whatever felt "safe" and easiest to produce. They also had trouble transferring what they'd learned from the lesson into a new situation. They assumed that all the puzzle pieces should fit together the same way again, so if they hadn't seen two code blocks snapped together before, they were not experimenting to find out what those code blocks could do together. Often, they simply submitted programs that were just different variations of what we had done together as a class.
It was very disappointing.
Then I came up with Scratch Coding Challenges. These weren't formal assignments, but rather low-stakes activities to push my students to apply their knowledge of coding to create specific programs. With a clear end goal, they were more willing to experiment and try different techniques.
We start with a simple program. I have an embedded video on my slide so that they can watch exactly what the program should do. Their first challenge is to make a lion walk across the stage and say, "Ouch" when he stubs his toe.
This is our first challenge, so I also provide them with a group of code blocks. I tell them that they must use this specific code to complete the challenge.
Since I've given them all of the pieces, my class usually doesn't have too much trouble working out a solution. We talk through why this code works.
Then I ask them to delete some of their code blocks and complete the challenge again using different code blocks that I have provided.
Once they work through and understand how the program can also work with the new code blocks, I challenge them to figure out a THIRD way to write the program.
The takeaway from this activity is that there is often more than one way to code a task. I also want to encourage my students to be willing to experiment with their code. If one strategy isn't working for them, I want them to be comfortable trying out another way.
For their next challenge, I ask them to make a balloon popping program. I want them to program a balloon to fly randomly around the screen and to "pop" and disappear if they touch it with their mouse.
I let my class struggle with this for a bit. When the time feels right, I will offer up some additional structure in the form of "Hints." Here is an example of one of the hints.
I have 6 different programming challenges to encourage my students to apply their knowledge of coding to create specific programs. These challenges do pre-suppose a basic knowledge of Scratch and concepts such as variables, conditions, and loops. There are hints to help students who get stuck, and a final solution for each program.
Here is a video walkthrough of all the challenges:
You can purchase my Scratch Code Challenges in PowerPoint or Google Slides form.
For structured lessons that build one foundational concept at a time, check out my full curriculum, geared towards grades 3-6, but also appropriate for older students who are just getting started with coding. The first unit is FREE.
I also have a second curriculum geared more towards older students, grades 7 - 10. It can also be used after the first curriculum if your students are ready for more challenges. The first lesson is FREE.
The 3rd-6th lessons really isolate concepts and build them slowly; the 7th-10th lessons are more complex with students learning more than one concept at a time. The first lesson in the 7th-10th curriculum on Movement might feel a bit repetitive to students who already completed the 3rd-6th lessons, but it touches on a few things not covered in the other curriculum. (And guess what, that lesson is free!) There are a few programs that are similar in the two curriculums, but the 7th-10th version of them has more complexity. Mostly, the programs are different. They also cover some topics that are not in the 3rd-6th lessons, such as music, drawing, cloning, moving backgrounds, and video sensing.
Need it All?
Check out my Mega-Bundle. This includes the 3rd-6th curriculum and the 7th-10th curriculum. BONUS: My Hour of Code Activity and Scratch Coding Challenges are also included in this discounted bundle.
Prefer a Book?
My PowerPoints are designed for direct instruction from a classroom teacher, but perhaps you have a youngster at home who would like to learn how to program? My book is a great choice for independent study!
Check Out My TpT Store!
Did you enjoy this project? Check out my TpT store: Miss B’s Shop. I create a variety of resources such as more Scratch Coding lessons, Technology & Digital Design lessons, Literary Analysis lessons, Novel Studies, and more!