A Beginner’s Guide to Teaching Kids Coding (Even When You Don’t Know How to Code)
Kids coding is growing rapidly in popularity as more and more parents and educators see that it is an important 21st century skill best taught early and often.
Too often quality coding options are not available in many towns, cities, and even countries. Many parents and educators see the need, and want to do something about it.
As the director of a successful online kids coding school, one common question we receive from parents and educators is: “How can I teach kids coding if I don’t know how to code?”
In this guide, we provide some simple, effective ways to start your own coding classes and clubs, while attempting to provide advice on academic approach, curricula, and other resources.
So wait a minute. Let’s start at the beginning. What exactly is coding?
For the uninitiated, coding is a term for computer programming.
Coding is a creative process executed by computer programmers to tell a computer how to perform a task.
Coding involves writing computer programs using programming languages that can range from visual drag and drop languages to text-based languages like Java or Python.
Kids coding is usually taught using content that is both educational and entertaining.
How can I teach a coding course when I don’t know how to code?
We’ll go into specifics later, but for now three words will suffice: Go for it!
The key is to embrace the challenge, take it slowly, and have fun learning a new skill that can really impact children’s lives.
The best way to prepare yourself for teaching coding is to take the course that you plan on teaching.
It is not necessary that you take the entire course first, but it would be a good idea to stay at least a few weeks ahead of the students.
It would also be a good idea to either go with a comprehensive curricula with excellent lesson plans, troubleshooting guides, and forums.
OK. I want to do this. Where do I start?
The first thing that you need to do is take inventory of your equipment, setting, and student population.
Here are some questions that you’ll need to answer while planning.
- What types of computers you will be using?
- Will you have Internet access?
- What is the age range of the students you’ll be teaching?
- Will you have access to a smart board or projector?
- Would you be seeing the same kids every week or would it be more of a drop-in setting?
1. What computers will you have access to?
If you have access to computers that are under 3-4 years old, you will have a lot of choices as far as curricula. If you have Google Chromebooks or older computers as your only option, you will likely need to use web-based curricula.
The most important thing that you do when evaluating curricula is to check its hardware and other other technical requirements before you begin.
2. Will you have Internet access?
If you have Internet access you will be able to use any of the three curriculum resources that we recommend below.
If you have access to Internet offsite where the computers are stored, but will not have access to Internet, you can use a desktop client version of Scratch.
3. What is the age range of the students you’ll be seeing?
If possible, we strongly recommend teaching kids of similar ages.
Especially as a new teacher or proctor, you might be overwhelmed if you have a wide range of ages, and you won’t be able to provide the kind of personalized attention that you’ll need to in each session.
Will I be seeing the same students each week or will there be a lot of drop-ins?
If you will be seeing the same students every week, you will have the option of moving through curricula with the class.
If you have a drop in environment with lots of absenteeism, you will need to oversee students each taking their own self-paced track.
With young students, many parents prefer visual block platforms to start. Some however prefer to get their kids typing early.
If you have no coding experience, we strongly recommend that you begin teaching with one of the following free resources:
Scratch (Free) (Recommended for K-8)
MIT Media Labs Scratch has designed fun visual block platform that teaches coding concepts while allowing students to build fun games with a lot of creative freedom.
Google CS designed some well thought out lesson plans that kids can follow, and the coolest part of the platform is that student projects are freely available for review.
This allows kids to study the Scratch visual block code that was used to make exciting 2D games like Asteroids, Donkey Kong and more. Scratch also allows students to add their own art, animation, music, sound effects, and voice-over.
Code.org (Free) (Recommended for K-12)
Code.org has been featured by Hour of Code and is used by many public schools to teach introductory computer science.
Code Studio has early modules featuring visual block interfaces interfaces and more advanced chapters that teach text-based code in a closed platform.
Code.org has also partnered with Minecraft, Scratch, Tynker, CodeBattle, and others to create modules that gives kids experience creating games and apps.
The strength of Code.org (aside from the fact that it’s free) is that they have partnered with the Minecraft and Star Wars brands, and they have a sequential approach to teaching computer programming.
Code.org also has an excellent portal designed for teachers who would like to teach coding.
If you currently teach at a school or other academic institution, Code.org holds free professional development workshops several times a year that are designed to give you the skills to run coding clubs and classes using their curricula.
Khan Academy (Free) (Recommended for 9th-12th Grade)
Sal Khan has created a series of videos that are designed to provide free education to the world.
At this time, many of the tutorials do not contain videos, but instead provide written instructions better suited to high school and college students.
Codecademy (Free) (Recommended for 7th – 12th Grade)
Codecademy provides free coding courses including lesson plans to help teachers plan computer science classes. Exercises are done in browser and feature automated accuracy checking.
Codecademy’s strength is in teaching older students who are interested in text based languages.
The closed platform approach prevents students from the actual experience of creating their own software, but it provides a well thought out curriculum map.
How large should my classes be?
As a new teacher or club proctor, I strongly recommend that you keep classes small. You will likely need time to familiarize yourself with the issues that will crop up during your first run through the curricula.
If you are teaching younger elementary age students I suggest limiting the class size to around 8-10 students at first. You can bump up class sizes as you get more comfortable with the curricula.
What are some examples of coding concepts that I will need to learn and understand?
There are several universal coding concepts that are found in nearly every programming language in the world.
Most will have slight changes in syntax, but the concepts are still understandable by nearly anyone with coding proficiency.
Here are two common concepts that are we have illustrated using pseudo-code:
Conditional statements tell a computer program to run a segment of code based on whether a condition is true or false.
Here is a snippet of code that determines when the user’s player jumps in a video game:
In the above example, if the player presses the spacebar on the keyboard, the users player will jump.
Another common coding concept is called a Loop.
In this example, a While Loop continually executes a command while a condition is true, and discontinues the command when the condition is no longer true.
In this While loop, crops will grow in a video game as long as the Daytime condition is true.
Visual Block versus Text-Based Coding
Visual Block Platforms
Drag and drop, visual block programming courses such as Scratch and Code.org can be viewed as the tricycles of coding.
They are designed to be fun and easy, but are also designed to be tools that you outgrow.
We think that these platforms can be very helpful for younger students.
Programs such as Code.org, Khan Academy, and Codeacademy have text-based options that are better for older students.
Middle and high school students may find visual drag and drop coding too kid-oriented, and will gravitate towards programs that teach coding syntax.
Coding for Kids: General Tips
Tip #1: Make it fun!
Kids coding needs to be entertaining. Keep careful tabs on your kids enjoyment, and don’t be afraid to make adjustments to the curricula from week to week if you feel that the students are not enjoying your current track.
Most of the curriculum choices I’ve provided have several tracks and hundreds of options. See what your kids are most excited about and head in that direction.
Tip #2: Find a mentor
Many developers enjoy volunteering and you might be surprised at how many might be willing to mentor you or even stop by your classroom to help out.
Interaction with an experienced engineer can be helpful and if not possible in person can be performed over Skype or other free video conferencing/screenshare solutions.
We hope that you found this article useful, and please each out to us anytime if you had questions or comments.
If your students ever do want the experience of learning to code using real languages and professional tools, CodaKid offers a wide variety of award-winning coding courses that include messaging and screen share support from experienced teachers.
Have any other advice for novice teachers of kids computer science? Please leave comments below!