As if educators don’t have enough on their plates, basic coding is quickly becoming an additional foundational skill for our students. It’s not hard to understand why.
Coding gives students a valuable skill in today’s job market. The Bureau of Labor Statistics projects that computer and information technology employment will grow approximately 13% between 2020 and 2030, much faster than other occupations. Some estimates claim that 20% of career-track jobs currently require some form of coding. Yet, between foundational reading and math skills, pre-algebra readiness, and more… how does one squeeze in coding? More importantly, how do you teach it when you don’t know how to code anything yourself?
Motivation is everything
As with any subject matter or skill, start by getting buy-in from kids that it’s worth their time and effort. Coding is a way to create and manipulate things like apps and websites, databases, and more. Be honest with them that learning to code will earn them an excellent salary whether they choose to pursue a computer programing bachelor’s degree or take an associate’s degree or “boot camp” route. In addition, multiple industries outside of computer programming require coding skills, from healthcare and finance to data science and software engineering. Bottom line: learning to code opens well-paying career opportunities.
If you have students who aren’t as interested in their future yet or are a little too young to think that far ahead, try tapping into their creativity and sense of competition. Coding programs geared toward a younger audience, such as Imagine Robotify, give students a game-like environment in which they can solve real-world problems, control their own robot, and compete in a virtual coding competitions. Find a coding program that ignites excitement and makes coding fun and not just “another task” to complete.
Let your students be the experts
You don’t have to be a content expert in coding to facilitate learning. Consider it an opportunity to model curiosity and problem-solving! Provide an excellent coding program as a guide or resource, start with small, achievable goals or a project-based-learning-style question, and let your students figure it out. Set a deadline and ask them to present the basics of coding to you. It may feel scary as the teacher, but your students will relish knowing more than their teacher.
No, it’s not really like teaching a second language
Because coding happens in specific computer “languages,” it’s common to assume that acquiring coding skills is like learning a second language or learning to read. However, recent cognitive research shows this is far from true. The “language” areas of the brain are not activated when we learn to code or participate in coding.
In fact, what is activated is the “multiple-demand” network — the part of your brain required for complex tasks, including spatial-thinking, critical thinking, and problem-solving.
Scratch vs. Python: what grade level and with which language should instruction begin?
JavaScript. HTML. C++. Block coding. Python. It all sounds like French to you, right? Here’s the deal on which language to choose and where to begin.
Block-based coding programs or “languages,” such as Scratch, are not a method by which professional coders code. Block-coding is more like a simplified instructional tool to help build a foundational understanding of coding. Students manipulate code by dragging and dropping “blocks” that have actions assigned to them. Consider it an introduction to coding and a perfect option for true beginners or young elementary students.
Python is the real deal — an actual language professionals use. It also is the preferred “beginner” language of choice. At what age should students dive into it? There are no fixed rules, and any motivated child is welcome to dive right in. Upper-elementary to middle school age is probably a realistic grade span to begin Python. Students who start with block coding will naturally reach a boredom point, as block coding has creative limitations. When they realize the more complicated (and fun!) tasks they can accomplish in Python, they’ll be ready to make the switch.
Yes, high school students (maybe even 8th graders!) can start with Python and skip block coding. However, there’s nothing wrong with a little foundational practice in block to get them started.
Try a blended-learning model of instruction
Ok, so you’ve committed to teaching coding to your students, you’ve selected a terrific program to do the heavy instructional lift, and you know which coding language you are starting them with. Now what?
A blended learning model works great for teaching coding via a digital program. You can easily set up a station with iPads or tablets in a station-rotation model. Students log in for that station and then move on to other instructional tasks when you tell them it’s time to switch stations. This doesn’t take away much from your designated instructional minutes but adds a fun task into the mix (and a brain break from all the rote reading, writing, and arithmetic!).
You can also assign 10–15 minutes of coding for homework or extra credit via an app or web-based application and have a quick discussion about what they learned when class is back in session. This would be more of a flipped classroom learning model.
In whatever way you choose to incorporate coding instruction, know that any amount is better than none for what is quickly becoming an essential skill for today’s students.