In this guide Coding for Beginners: A Step-by-Step Guide, we are going to break down coding for kids into bite sized chunks.
Whether you are a student, parent or teacher with no experience or an experienced technology teacher who is looking to take your kids coding classes to the next level, this guide is for you.
While we are at it, we will attempt to provide you with the answers to some of the most common questions that we encounter operating CodaKid, an award-winning online kids coding school with students in 70 countries.
We’ll look at where to start, what kids coding languages to learn, what curricula to consider, what machines to use, what strategies to employ, what coding concepts look like, and more.
We are engineers, developers, and designers who have written over 70 original courses, camps, and classes from the ground up. We are happy to pass along some of what we have learned along the way and make coding for beginners, as straightforward as possible!
Table of Contents
What is coding?
Coding is a term for computer programming, an activity in which computer programmers to tell a computer what to do.
Programmers use one or more computer programming languages to accomplish this.
For example, programmers working at Google might use C++, Java, JavaScript, or Python.
Video game programmers at Nintendo might use C++, Java, C#, JavaScript, or SQL.
Some coding languages even take the form of visual blocks such as Blockly or BluePrints in the Unreal Engine.
There are many languages in the world today, but the same concepts and conventions are shared by nearly all of them.
Why should we teach coding?
Aside from a very small number of naysayers, almost every serious educator recognizes that coding is an important skill for the future.
Even for students who don’t plan to become software developers, coding provides a number of benefits. Here is a good list of reasons why we should consider teaching it to our children:
- Computer science builds skills in a number of corollary areas including math, science, problem solving, teamwork, project based learning, creative arts, and more. As Steve Jobs famously stated “Coding teaches you how to think.”
- Learning to program is just like learning a foreign language. The earlier you start, the easier it is to learn and master.
- By the year 2020 there will be nearly 1 million unfilled tech jobs in the United States due to a shortage of qualified engineers.
- Jobs for software developers and programmers are forecast by the Labor Department to grow by nearly 18% between 2016 and 2026
- Computer related occupations make up over 60% of projected new job positions in STEM (Science, Technology, Engineering, and Math).
- Computer programming teaches practical skills that are immediately relevant in today’s labor market.
- Computing powers nearly every industry from education to farming, from law to business, and from construction to medicine, and software is behind all of this.
- Computer engineering jobs rank among the highest-paying for new college and vocational school graduates.
- Coding is the newest liberal art. (Liberal arts were traditionally designed to prepare individuals for civic life and to help students understand the world around them. It is only a matter of time before it is included in core curricula).
What age should kids start?
Coding for kids can be taught as as early as age 5.
With the youngest learners, using visual block interfaces or age appropriate text-based coding classes are recommended.
What type of equipment will I need?
Much of this decision depends on your child’s interests, your budget, and your choice of approach.
Or, if you are technology teacher at a school or district, this choice may have already been made for you, but hopefully the recommendations here and in the curriculum section below can give you some options that you may not have considered.
- For younger students, ages 5 to 7, you can find suitable coding options that can be run on lower end computers (such as Chromebooks), on iPads, and even on mobile phones.
- Once your student is ready to move past visual block coding, there are still some decent options that will run on Chromebooks or older Macs and PCs. For example, online coding courses such as Code.org and Khan Academy are web-based and only require a high speed internet connection making them a perfect tool to teach coding for beginners.
- Once students want to go even deeper into professional languages and tools, it is generally advisable to go with PCs or Macs. CodaKid’s courses for example run best on newer PC and Macs with at least 4G of RAM.
- We at CodaKid are fairly agnostic concerning PC computers, and suggest that you follow the hardware requirements of the course. We suggest that you research computer reviews on trusted sources like CNET or PCMagazine and look out for sales such as on Cyber Monday.
Note: At some point in your student’s coding journey, she will likely reach a time when she has a strong desire to use real programming languages and professional tools. Some families decide to do this from the start, while others use web-based coding for beginners then transition to professional grade tools later down the road. We have found that kids build confidence when using professional languages and tools, and that students as young as 8 can learn them with proper instruction.
Styles of Instruction: Visual Block vs Text-based Coding
Visual Block Platforms
- As you can see from the image above, visual block platforms allow kids to place and snap together virtual code blocks and create games, apps, and more.
- These can reduce the frustrations of hunting and pecking for keys on a keyboard which is nice for younger learners.
- Many view drag and drop, visual block programming courses as the tricycles of coding. They are designed to be fun and easy, but are also designed to be tools that you outgrow.
Text-based Coding
- Text-based coding programs generally use real programming languages either within a closed platform or real text editors.
- Programs such as CodaKid use real programming languages and professional text editors and tools.
- But the courses are taught in such a way that students as young as age 8 can follow along and have a fun time learning. The advantage of this approach is that students gain creating real software. Courses such as CodaKid also also provide online mentoring support from real teachers and even screen share sessions if you students encounter bugs or other difficulties.
Where/how should my student learn coding?
There are many ways in which kids can learn coding, and your choice of method will likely be impacted by where you live and what is available to you in your area.
For simplicity we have broken the options into three basic categories: 1. Online Classes 2. Live Classes, Camps, or Tutorial sessions 3. DIY Options
Online Classes
Online classes offer the ultimate in convenience as well as a level of quality that is difficult to find outside of large tech hubs.
If you decide to go with online classes, you might consider one of the following:
1. You can find self-paced online courses that provide mentor support
- A great way to learn coding in the comfort and convenience of your home is to take an online, self-paced course that your student can take anytime.
- These options are great especially for today’s over scheduled kids who might have a rigorous sports schedule for a few weeks, and then get some downtime.
- Our company CodaKid is an industry leader in this space. We provide self-paced convenience, but if you ever need help we are a click of a button away as we staff engineers who can help you when you get stuck.
- CodaKid teaches kids how to code using the same professional languages and tools used by developers at Google, Facebook, and Amazon – and the projects we teach are very popular with kids who are interested in building video games, apps, and websites.
2. You can find self-paced courses without support
- There are several more basic online providers out there who have designed platforms that generally don’t require any type of interaction with a teacher.
- Some of the platforms are free – such as Scratch, Code.org, and KhanAcademy – and there are others who charge a modest price for subscriptions such as Tynker, CodeCombat, and Osmo.
- The free platforms mentioned above are very commonly used at many schools, as they can be taught by teachers without any engineering experience whatsoever. These options can also be taken by kids at home, as most of the time the directions are quite easy to follow and the projects are designed to keep kids in an “on rails” environment where they won’t need help.
- The downside to many of these options is that kids over the age of 8 often outgrow them quickly, and are ready to move on to more challenging platforms.
- The upside is that many feature visual block coding which is a great way to introduce kids to coding, and to reduce the frustrations of using a keyboard to type text.
3. You can find online classes that meet live at set times
- There are several new academies that offer live online classes where students in small groups interact with a live teacher over the web.
- Using platforms such as Blackboard or even Google Hangouts, teachers can interact with the students one-on-one, students can raise their virtual Hands if they have a question, and the content can be fun and exciting.
- Providers such as Coding with Kids have recently begun offering this option as well as other more academic providers such as CodeWizardsHQ.
Live Classes, Camps, or Tutorial sessions
If you go with live options, you can do one of the following:
1. Find a coding academy that offers group classes, camps, or private classes
- There are a number of kids coding academies and tech camps – and over the last two years several franchises have opened up offering varying levels of kids coding.
- We strongly recommend picking academies that focus exclusively on coding. For example, many academic tutoring centers have recently begun offering coding to supplement their income, yet are offering options such as Scratch and Tynker – which most families can do by themselves at home.
- Instead, look for coding academies that specialize in computer science. Look for academies that have the chops to teach advanced coding, and we have a personal preference towards providers that have built their own curricula.
- If you do not have time during the school year, there are a growing number of tech camps in most major cities. Many tech camps offer both winter and summer camp options.
- Again, try to steer away from the ones that seem to focus primarily on Scratch. You can find free courses at public libraries that teach this level of instruction.
- Instead look for camps that have beginner through advanced options that include coding with real programming languages using professional tools and text editors. You will generally find that engineers teach the courses and this added level of expertise will improve your child’s experience.
2. Look for academies that provide after school classes at your school
- Many academies have begun offering after school coding for beginners clubs at local schools which can provide a convenient option for busy families.
- Many will teach using courses centered around game design or game development. This is actually a fantastic way for kids to learn coding, as many of the same concepts used in game development are also used in other areas of programming.
- Some providers will bring in their own laptops or robotics kits, whereas others will use the schools’ computer labs.
- Again, check and verify the quality of the provider before commiting. Do they have a 4+ star average review on Google with more than 50 reviews? Do they perform background checks on their teachers? Do they hire teachers with engineering backgrounds? If the answer to these three things is “yes” you likely have a reputable provider and should give them a shot.
3. Find a tutor that does private or small group instruction
- There are an increasing number of engineers that use online tutoring websites to advertise their services.
- While one-on-one private tutoring might be more expensive, you could also try to put together a small group of your child’s friends and form a small group class somewhere convenient.
- You can try sites like Varsity Tutors and other crowdsource tutoring sites. Make sure to check the tutor’s reviews and make sure that the service you use ensures that all tutor’s have passed national background checks. I cannot stress the importance of this.
- In computer science education,the smaller the group the better – with one-on-one being optimal. Students move at different paces and it we suggest that if you form a small group to limit the age range of participants.
4. Find a volunteer mentor who is willing to spend some time with your child each week.
- This might be harder to find, but for those of you who have friends who are computer programmers, you might ask if they would be interested in doing some volunteering. You might be surprised at how many professionals enjoy this type of thing.
- At our physical academy in Scottsdale Arizona, engineers from Amazon, PayPal, and Intel send their kids to us – and it’s fun to see them sometimes get involved in classes or offer to help kids privately on the side.
DIY Options
If you opt for a Do-It-Yourself (DIY) approach, you might try the following:
1. You can find kids coding books from bookstores or online retailers
- There are a number of excellent books on a variety of kids coding projects that you can find at a local bookseller or Amazon.
- You may find that today’s youth gravitate more towards video instruction, but using books can also strengthen reading skills.
- We list some options in the Curriculum Recommendations section below that we think are excellent.
2. You can purchase coding and robotics kits and do these at home
- There are a growing number of fun kids coding and robotics kits that are designed for home and classroom use.
- There are even some fun options that come as monthly subscription boxes.
- We will cover some of our favorite options in the curriculum section below.
3. You can search for free YouTube tutorials and other websites that post free projects
YouTube has thousands of DIY video tutorials on computer programming, game development, app development, web development, and more.
Sometimes these options will be of varying quality. As always, check the reviews and feedback, and look for content that is age appropriate.
Curriculum Recommendations
There are a staggering amount of kids coding resources available today, and it can be difficult to find classes, online courses, or other options (robotics packages, build your own computer kits, subscription boxes) that meet your needs.
One thing that we think is sound advice for parents and educators is to find content that your child is interested in.
Parents and educators sometimes make the mistake of making coding projects too academic and boring, which is not a great way to get kids excited about a challenging topic.
What most software developers will tell you is that the coding concepts learned in making games, apps, and websites are commonly used in many other business or academic applications.
For example in making a Roblox game in Lua, students will commonly use conditionals, loops, variables, functions, and more.
It is very practical to use things like game, app, and robotics programming to teach kids coding. Going with dry, academic options can actually backfire.
In the section below we’ve outlined some of our favorite resources for each age group. As you research different coding providers, you may find that many of them are using these.
Hopefully this will help you navigate curriculum choices that would be most appropriate for your students.
Curriculum Recommendations – Ages 5 to 8
For students ages 5 to 8, we strongly recommend using kids coding curricula that features visual block and other forms of tactile coding.
- (Website) Scratch is the original drag and drop coding platform for kids. DEveloped by Mitch Resnick and his team at MIT, Scratch is a sandbox style game creation platform that allows kids to create their own games using visual coding blocks that snap together like Legos. Scratch is completely free which is one reason it is the most widely used kids coding platform on the planet. No Cost – Completely Free.
- (Book) Coding Games with Scratch – Scratch 2.0 does not provide enough direction for teachers and students, which is why books like this can come in handy. Very well-organized with clear directions and fun, student-centered projects. $15.50 on Amazon.
- (App) Osmo – Osmo requires an iPad, as well as a base and Osmo kits (sold separately), but is an absolutely fantastic product line. I have used it extensively with my 5 year old daughter, and we have gotten excellent reply value from the system. Osmo iPad base costs $29 and apps start as low as $19.
- (Website) Tynker is similar to Scratch but with more direction and pathways. We like Tynker’s creative suite which allows kids to create their own games and apps using visual blocks. Their Minecraft Modding courses are very well thought out and executed, and we see this as a great platform for very young students. Contains few free modules. Subscriptions start at $60 for three months, $120 per year, and $180 for Lifetime.
Curriculum Recommendations – Ages 8 to 15
While some students in this age group will still find visual block coding more approachable, many of today’s digital natives are ready for text-based coding earlier than expected.
Some of the options we list for this age range incorporate both visual block and text-based coding.
- (Website) CodaKid provides hundreds of hours of fun and engaging video tutorials, and also provides mentor support through its innovative learning platform. CodaKid teaches kids to code using professional languages and tools, and uses open source and other free tools that kids already love – like Minecraft Forge, Roblox Studio, Unreal Engine 4, and more. Subscriptions start at $25 per month including unlimited mentor support. Annual subscriptions cost $249.
- (App/Subscription Box) BitsBox is a subscription box that comes every month bring fun coding challenges that kids complete using JavaScript. Subscriptions start at $25 per month for the physical box and $17 for a digital version.
- (Robotics Kit) Robolink CoDrone is a drone programming kit that includes a sturdy drones that can be programmed with Arduino or with a visual block language called Snap. Robolink also has other fun robotocs kits that we have tested extensively with hundreds of students. Highly recommend. CoDrone Lite starts at $119 per drone.
Curriculum Recommendations – Ages 16 and up
- (Website) TreeHouse is an online coding school that provides vocational training for anyone interested in web development, full stack development, and data science. Monthly subscriptions start at $25.
- (Website) Codecademy provides free and paid online coding courses on a wide variety of topics. The paid Pro level includes quizzes, portfolio-building projects, and customized paths. Exercises are done in browser and have automatic accuracy checking. Paid plans start at $17.99 per month.
- (Website) Udemy is an online platform with over 80,000 videos on a variety of topics. Some of their coding tutorials on web development, game development, full stack development, and machine learning are excellent. Courses start at $11.99 per course.
- (Book) Python Crash Course is an excellent book that presents Python programming with a project-based approach. You will learn basic programming concepts and conventions, make a simple 2D game, and a web app. Book costs $27 on Amazon.
What is the best coding language to teach kids?
As we have emphasized in this blog, we like starting kids ages 5 to 8 with visual block languages. But once they turn 8 or 9, however, you will have a choice as to whether or not to start them with text-based coding.
Our advice is to always let your child’s interests dictate your choice of a kids coding language. If your students are interested in Roblox game development, then Lua will be the language you may want to consider.
If your child is interested in robotics, you can find options that use Arduino.
If your student is interested in building a website, you will want to consider HTML and CSS, and if she is interested in building apps you might want to consider a language like JavaScript or Swift.
At CodaKid we use Java for our Minecraft coding courses, and we use the Eclipse IDE, which is a professional text editor used by engineers at major companies like Amazon, Facebook, and Google.
We have created highly effective method of teaching Java as an introductory coding for beginners class. The kids’ natural passion for Minecraft gives them extra motivation to work through concepts like Booleans, conditional, loops, variables, and methods – all of which are universal and can be found in nearly every other coding language.
Java also happens to be the language tested by Computer Science AP exam which provides value for some of our students.
Another language that has exploded onto the scene is Python. Python is a scripting language that many experts consider one of the easiest to learn. Python makes coding for beginners less intimidating. It’s used to create well-known platforms such as Spotify, Instagram, YouTube, students can even use Python to make websites using Django, a popular web framework.
CodaKid has introduced a very popular Python coding track with a growing number of modules and projects.
What are some examples of coding concepts that my students will learn?
There are many coding concepts that are common to nearly every programming language in the world.
Barring slight changes in syntax, the concepts are still legible by nearly anyone with programming proficiency.
Here are two concepts that you will run across quite often in computer science. We have illustrated these concepts using pseudo-code snippets.
Conditional Statements
Conditionals allow a program to run a section of code based on whether or not a condition is true or false. One of two Boolean values (True or False) is returned when the condition is evaluated by the computer and this determines what code is run.
For example, here is a is a snippet of pseudo code that determines when a player character jumps:
As you can see, if the player presses the spacebar on the computer, the user’s character will jump.
Loops
Another common computer science concept is called a Loop. In this example, a “While Loop” continually executes a command while a certain condition is true, and then halts the command when the condition is no longer true.
In this While loop, crops will grow as long as the Daytime gamestate condition is returned as true.
Conclusion
Kids computer science is growing rapidly in popularity, as many families believe that schools are not adequately preparing their students for tomorrow’s labor market.
There are many excellent options for parents and educators, and we hope that you’ll explore some of our recommendations from the curriculum section above.
The most important piece of advice we can offer is that you find curricula that your students are interested in and make coding for beginners a fun, creative adventure.
Coding for kids doesn’t need to be academic, and it is often best taught using projects such as making video games, apps, or websites.
Many parents and educators are surprised to learn that the same coding concepts used to make video games are used in building business applications and other software.
If kids coding is taught the wrong way, it might seem like a boring typing class or even worse – a 100 step math word problem.
If you choose curricula that aligns with your students’ interests, however, you might find that today’s digital natives pick up the concepts quickly and will soon be learning important 21st century skills, that is why finding the right coding for beginners course is so important.
I’m a parent or teacher. Is it too late for me to learn?
Most certainly not!
Learning visual block coding is easy, and if you take text-based coding language classes you may find that they keep your mind sharp and are intellectually rewarding.
If you would like to teach students, we highly recommend that you take the same course that they are taking and stay a week or two ahead of where they are. This way, you will experience the challenges that they do, and be able to predict where they might have difficulty.
We hope that you enjoyed this article Coding for Beginners – A Step-by-Step Guide for Kids, Parents, and Educators.
If you think we missed anything please leave us a comment below. We love hearing from you.
Code on,
David