Too Old to Code? Think Again.

Coding is the language of our future.

Coding

All of the students in my school from prekindergartners to grade five learn are learning how to code and spend classroom time on it often. Our library media specialist has provided everyone with access to coding programs during regularly scheduled technology workshops. I know the kids enjoy this time, but unless they will become computer programmers or engineers, why do they need to know how to code? Asking this, I wondered if I was showing my age and/or my mindset.

So I decided to learn how to code. I downloaded the Swift Playgrounds app on our iPad and started programming. During this learning process, I’ve discovered two things about coding that other principals should know as they assess their support for computer programming in school.

1. Coding is relevant

The Swift Playground is a free app that teaches the user how to code using the Swift language. Programming is how one “talks” to a computer so they can eventually create an application. Coding, like a language, has its own syntax (combinations of words to make sentences) and context (the situation in which something would be spoken or written). The coder’s goal is to create an action within a scenario (context) using terms and symbols (syntax) inputted into the software.

For example, here is some code I initially wrote:

moveForward()

if isOnClosedSwitch {

toggleSwitch()

}  else if isOnGem {

collectGem()

}

Reading this, it makes little sense, right? However, using it, I was able to program a character to walk along a pathway, toggle switches and collect gems. Once you see it in action, things start to come together.

Why this is important: When students learn to code, they become successful in a skill that has relevance for our world. LinkedIn reports that of the 20 most promising jobs in 2017, 12 are in technology. Problem solving, critical thinking, and creativity are all embedded in this work, which is relevant for anyone. Teaching students how to code is a smart investment in our students’ futures.

2. Coding teaches mistake-making

I am hesitant to use the word “fail” in education. Merriam-Webster defines fail as “to be unsuccessful” and “to fall short.” Sounds depressing to me. Instead, let’s make mistakes. Any action we take in coding will result in wither a program that works or a program that does not work. If we learn from our errors, then we did not fail.

Currently, I am at an impasse with Swift. I cannot get my guy to stop walking off his platform.

I’ll try a different order in the commands, or go back to previous code I wrote for a solution. When I get frustrated in these situations, I’ll put the iPad away for a while and come back later. A solution might come later when I am not thinking about it or I have found my patience.

Why this is important: Programs that teach coding can be highly engaging. They often have a game-based approach that includes feedback, scaffolding, and just enough challenge to keep the user motivated to keep playing. Grit and a growth mindset can be a natural by-product when learning how to code. These are critical skills our kids should have for the future.

So, what will I do if or when I learn enough about coding? Maybe I’ll program an app for the iPad to document classroom walkthroughs and provide feedback for teachers. Whatever I might create, I’ll be sure to share what I made with our students and staff. What’s important is that I have modeled myself as a learner for my students and staff. Coding is an effective and relevant activity for fostering this mindset with anyone.

Learn-to-code programs for young kids

Learn-to-code programs for older kids (and principals)

Matt Renwick

Posted by Matt Renwick

Matt Renwick is an elementary principal in Mineral Point, WI. He writes frequently about literacy, school leadership, and technology. His latest book is Digital Portfolios in the Classroom (ASCD, 2017). You can connect with Matt on Twitter (@ReadByExample) and at his website (mattrenwick.com).

Leave a reply

Your email address will not be published. Required fields are marked *