Can You Teach a 2nd Grader to Code?

Jonathan Stock
Coding in the Cloud
3 min readSep 18, 2020
Me Teaching a Code For Fun Class to 2nd Graders

Coding classes are all over the Internet these days. Many are targeted to children and feature tutorials in Scratch, a block-programming language. They have made me wonder — does learning a simple language like Scratch qualify one to be a coder?

On September 17, 2020, I joined with Daniel and Erman, two other Verizon Media employees, and taught a group of 2nd graders how to code. This was part of Verizon Media’s give back to the community program called The Great Build. We volunteered for a non-profit, Code For Fun, that provided a free 1-hour introduction to coding class material that we taught to the kids over a Zoom virtual meeting.

We used Scratch, a browser-based visual programming interface with preset blocks that can be organized to create interactive graphics. You do not have to know a programming language like Python in order to build projects in Scratch. It’s a way to introduce children to the concept of coding. It shows them programming cause and effect in relatively short order, and, in the process, makes a kid smile as they see their creation come to life.

And at the end of the class, we congratulated the kids on becoming coders themselves. But I wondered to myself, after an hour of pointing, clicking and moving blocks, have they earned the right to be called a “coder”?

It was fun to see these young people engaging with Scratch. We taught them how to make a character walk across a screen and bounce off the edges back and forth. Most of them quickly and intuitively added other blocks to add sound and visual effects to their creation — without any prompting from the instructors. Exercising their creativity in their own way — experimenting and fine-tuning their creation, and being able to control the interface to produce the desired outcome on the screen, certainly seems coder-like.

As I explored the many projects at Scratch, I was amazed at the massive number of programs that have been created and shared by users all around the world. I found a lot of half baked projects, but was surprised when I chanced on a jumper game that played (and looked) a lot like the original Super Mario Brothers. And the block code base was remarkably simple. Scratch doesn’t look like your typical code — glowing rows of unintelligible machine language against a black screen. Practically anyone can read through a Scratch code block and get the gist of the function. Check it out for yourself in this example. But is this really “code”? And does learning it mean you are a “coder”?

The jumper game proved to me, that blocks did in fact represent “code”, real code, that has the potential of making a real video game. So therefore, the kids who use it to create a game, like the jumper game, are certainly worthy, in my book, of the title “coder”.

It also taught me that coding is more than just learning “machine speak”. There’s a right brain and a left brain side to coding. Coding requires both creativity and logic. The end goal is about building a self-contained program that gets a job done, versus just learning a machine language. There are lots of contributors to a program, each having their specialty. It takes a lot more than just knowing syntax to be a programmer. You have to bring a creative side to the task.

Eventually, the 2nd graders in my class will need to decide if they will go on to learn machine languages as part of their desired career development. And for most coders I presume, it will be a lifelong process of learning and re-learning new skills and languages. But for now, as long as the kids continue exercising their creativity to build things, no matter how simple the language or interface they are using, then yes, I believe they have earned the title of “coder” and can proudly proclaim it to the world.

--

--