Going beyond coding puzzles

Moving a robot through a maze or drawing a pre-defined shape are examples of well known coding puzzles available in every tool or curriculum. As a K-8 computer science teacher, I know we love handing out these structured exercises to our students. They are a perfect way to introduce programming concepts, and because they only have one solution, they provide a clear and definitive end to the lesson. It makes assessment easy, it takes away the stress of “what should I make” and it makes both teacher and student feel successful. It simplifies PD for new CS teachers and ensures that all students will learn the basics.

But K-8 computer science teachers need to go beyond these coding puzzles. We must show students that programming offers much more than a ‘one solution’ answer to a pre-defined problem. This can be messy, uncomfortable and it is not easy.  However, we also know it can be fun and deliver the “fall in love with coding” moment we hope to provide in these early CS classes.

When do we show our students that they can make anything with code?  Should we use K-8 as a time to focus on creative computing and make the first few projects completely exploratory?

I believe CS teachers must strike a delicate balance here.  While showing the students that there is so much more than mazes and shapes, we also want to give them constraints to ensure that they are still successful. In my own classroom, I see both excitement and fear when I tell  students they can make anything they want. Some students rush in – “I know exactly the kind of game I want to create.” However there are others who are frozen – they want suggestions, they want to look around for inspiration, they prefer to remix an existing project. To these students, the open ended project is a source of stress and can scare them away from coding. As teachers, our challenge is to find ways to be helpful but not limiting to these students, allowing them to explore their creative potential without fear.

During my days as an art student, I remember being given a blank white canvas and found myself in my own “make anything you want” moment. I felt that same fear many of my students have until my instructor gave me a wonderful tip – just paint a Burnt Sienna (brown) wash on it. Simply turning the canvas into something non-white made a difference. It gave me the courage to start, to experiment, and to make mistakes.

Writing code for a new project is a lot like starting a new painting. As a CS teacher, we have to be ready to give our students the help they need: a gentle suggestion, the first few lines of code, an exercise that could be extended. We must find the Sienna brown wash that will get them going.