How to Teach Coding (When You Don’t Know How to Code!)
Basic coding is quickly becoming an additional foundational skill for primary and secondary students. It’s not hard to understand why. Coding gives students a valuable skill in today’s job market. In the European Union, ICT specialists made up 4.5% of the workforce compared to 3.2% in 2012. Some estimates claim that 20% of career-track jobs globally currently require some form of coding.
Yet, between foundational reading and maths, science, music, PE, foreign language, and health – 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 helping kids realise it's worth their time and effort. Be honest with them that learning to code will earn them an excellent salary whether they choose to pursue a computer programming undergraduate or not. In addition, multiple industries outside of computer programming require coding skills, from healthcare and finance to data scientists and software engineers. Coding helps to develop critical thinking, creativity, communication, and collaboration skills. At the end of the day: learning to code opens well-paying career opportunities.
If you have students who are not yet interested in their future career or are a little too young to think that far ahead, try tapping into their creativity and sense of competition. Is the language of computers, video games, software – really anything digital! Connect coding to some of their favorite video games or websites.
Coding programs geared toward a younger audience, such as Robotify, give students a game-like environment where they can solve real-world problems, create their own robot, and compete in virtual robotics 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 learning 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 and problem-solving.
Scratch or Block Coding vs. Python: what grade level and with which language should instruction begin?
Block-based coding programs or “languages,” such as Blockly, are not used by professional coders; however, they are a more visual and “tactile” way to help students understand how coding languages function. Students manipulate code by dragging and dropping “blocks” that have actions assigned to them. This is a perfect option for true beginners or young students.
Python is an actual language professionals use. It also is the preferred “beginner” language of choice. At what age should students start learning Python? There are no fixed rules, and any motivated child is welcome to dive in. Year 4 or 5 is probably a realistic time to begin Python. Students who start with block coding will naturally reach plateau, as block coding has creative limitations. When this happens, it is time to switch to Python which offers more creative freedom and challenges!
Yes, secondary school students 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
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. Robotify allows students to access virtual Robots from any device or browse anytime, anywhere. Students can practice coding projects or replay lessons during their own time.
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.