Coding for Kids with Autism: The Ultimate Guide for Parents and Educators
Computer programming, otherwise known as coding, has become a much discussed among families with autistic children.
Many researchers and educational experts believe that there is a natural fit between many of the skills required for computer programming and some of the natural skills possessed by children on the spectrum.
Computer programming, for example, requires strong math, logic skills, and spatial reasoning abilities, all categories in which many children with autism excel.
In this guide, I will attempt to provide parents of autistic children answers to some of the most common questions we’ve encountered operating a successful kids coding school which has provided services to hundreds of children on the autism spectrum.
I have also assembled a list of resources that I think will be helpful, including advice on academic approach, curriculum, kids coding languages, and other guidance.
What is coding?
Computer programming, otherwise known as coding, is a creative process undertaken by programmers to tell a computer how to perform a task.
Coding involves writing computer programs using programming languages. Coding for kids is most effectively taught using content that is high-interest while allowing kids to create projects that involve creative input.
Why should my autistic child learn to code?
There are a number of important reasons why it is beneficial to introduce students on the spectrum to computer science education.
- The employment rate of adults with autism is estimated at between 10 – 20%. Computer programming may provide lucrative workforce opportunities for students that can master the skills required.
- By the year 2020 there will be nearly 1 million unfilled tech jobs in the United States due to a shortage of qualified engineers.
- Computer related occupations make up over 60% of projected new job positions in STEM (Science, Technology, Engineering, and Math).
- 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.
- Computer programming teaches skills that are instantly relevant in today’s job market.
- Computing powers nearly every industry from education to farming, from law to business, and from construction to medicine.
- Computer engineering jobs rank among the highest-paying for new graduates.
The attraction of autistic students to computer science
In her article on teaching computer science to kids with Asperger’s Syndrome, Kristen Ribu from Oslo University College, finds that autistic students are drawn to computer science largely because computers are logical and consistent.
While social interactions provide unpredictability and uncertainty, computer programming is an exercise in planning and designing inputs that yield a set of expected outputs.
Students with autism prefer this style of problem-solving, where their ability to organize data and build reliable structures is useful while producing predictable results.
In another interesting study, Claire Berube found that programming builds on logic and spatial intelligence, both categories in which many children with autism excel.
Spatial intelligence relates to the facility with which people can visual things with their mind’s eye – an exceptionally important part of coding.
It was also interesting to note that in her article that that there is an overrepresentation of people with Asperger’s Syndrome in computer science studies and in the computer industry.
What challenges will my autistic child face when learning coding?
Coding demands patience and persistence from all students.
Like any skill, it takes time and dedication to develop the skills necessary to code independently, and some children who struggle with patience may experience some challenges.
As we mention in the tips section below, some autistic students may also experience difficulties in certain class environments.
At our Scottsdale-based kids coding academy, we have seen this first hand, as several students on the spectrum had difficulties with unpredictable or surprising things that happen naturally in a classroom filled with children.
What age is appropriate to learn coding?
Coding for kids can be taught as as early as age 5. With the youngest students, the use of visual block interfaces or age appropriate text-based coding classes are recommended.
We will address some curriculum recommendations later in this guide.
Coding for Autistic Kids: Important Tips
Tip #1: Find the optimal environment – Classroom versus Online
When introducing your autistic child to computer programming there are a number of different ways that you can do it.
In many cities, there are an increasing number of brick and mortar kids coding academies and classes that can provide either group instruction or private lessons.
Some students will not work as well in classroom settings, as there are many distractions, social interactions, unexpected noises, or other surprises.
Other students will prefer online options which give your child the ability to take courses in the comfort and convenience of home.
A growing number of online course providers include support from online teachers, which can be an excellent way for students to work on social skills while mastering a coding language at home.
Tip #2 Make it entertaining
Kids coding courses should be enjoyable.
We recommend staying away from curricula that is too academic, and to focus instead on fun, engaging courses that match your child’s interests.
Some students will want to create a custom sword for the best-selling game Minecraft. Others might want to create their own webpage.
We prefer to teach coding by building mods, coding games, programming apps, coding drones, and other creative projects as they provide students with a fun and interactive way to learn coding concepts.
Many youth coding clubs and academies are starting to move in this direction.
Tip #3: Celebrate victories
Computer programming has been compared to woodworking. You begin with the end in mind, and through a series of small sequential steps, you eventually produce the final project.
When your child completes modules and new projects, we recommend celebrating these moments and sharing her accomplishments with friends and family.
What is the best programming language for autistic students?
With younger students ages 6 to 8, we prefer visual block languages as a starting point.
There are several types of visual block languages that we’ll discuss in more detail in the curriculum section, including Scratch and Blockly.
With older students ages 8 and up, you can opt to begin with visual block resources, or start right away with text-based languages.
Our advice is that wherever possible it is always good to let your child’s interests dictate your choice of a language. If your daughter is interested in Minecraft modding, we recommend seeking out age appropriate curricula that teaches this.
If your child is interested in robotics, you will find many kits that use visual block languages as well as Arduino text-based coding.
At CodaKid, our Mod Creation 1 and 2 series teach Java as an introductory language, and we use helper files to reduce some of the complexity. We believe that kids’ natural passion for Minecraft gives them extra motivation to work through concepts like conditionals, loops, variables, and methods – all of which are universal coding concepts and can be found in nearly every programming language.
Python is another great language for kids coding, and is featured as the language of choice for some important computer science initiatives including Project Lead the Way.
What are some examples of coding concepts that my child might learn?
There are many universal computer science 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:
Conditionals allow a computer program to execute a particular section of code based on whether a condition is true or false. One of two Boolean values (True or False) is returned when the condition is evaluated by the computer.
Here is a snippet of code that determines when the user’s player jumps:
In the above example, if the player presses the spacebar on the computer, the users player will jump.
Another common programming concept is called a Loop. In this example, a “While Loop” continually executes a command while a particular condition is true, and discontinues the command when the condition is no longer true.
In this While loop, crops will grow in the game as long as the Daytime condition is true.
Curriculum Recommendations For Younger Kids: Visual Block Languages
MIT Media Labs Scratch designed a 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. Scratch also allows students to add their own art, animation, music, sound effects, and voice-over. Scratch does not provide student support at this time.
Code.org has been featured by Hour of Code and is used by many public schools to teach introductory computer programming. Code Studio contains early modules featuring visual block interfaces interfaces and more advanced chapters that teach text-based code. Code.org has also partnered with Minecraft, Scratch, Tynker, CodeBattle, and others to create modules that simulate the experience of 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. The downside is that kids never quite experience the feeling of building something from the ground up and they are confined to a pseudo environment which seems to encourage drag and drop blocks rather than text. Code.org does not provide student support at the time of this article.
Osmo Coding (Paid)
Osmo Coding combines Legos, gaming, and coding. Osmo teaches children programming concepts by using magnetic blocks that allow the user’s character to navigate puzzles and other challenges in an iPad game. While the website specifies that the software is designed for students ages 5 to 12, we think that it truly excels with younger learners.
Curriculum Recommendations for Older Kids: Text-based Languages
CodaKid – Paid (Includes 14 Day Free Trial)
One unique feature of CodaKid is that it provides online mentoring support from a friendly team of teachers who answer questions and even do screen-share sessions with students.
If your children are into Minecraft, CodaKid’s award-winning Mod Creation 1: The Adventure Begins will teach them how to create Minecraft Mods using the Java programming language.
Swift Playgrounds (Free)
Swift Playgrounds is a free app developed by Apple that teaches the Swift programming language. It requires no coding knowledge, and is an excellent free resource for students just starting out. Activities start with simple puzzles and then progress to more advanced playgrounds designed by Apple developers.
Codecademy provides free coding courses including lesson plans to help teachers plan computer science classes. Exercises are performed in browser and have automatic 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 crafted curriculum map.
Khan Academy (Free)
Resources for Older Teens and Adults
Coding Autism is a full-service professional coaching and training company that trains adults on the autism spectrum in software engineering, quality assurance (QA), and web development. They also assist graduates in finding employment within the software and technology industries. Coding Austism provides services such as immersive programs and bootcamps, resume workshops, career counseling, interview preparation, and coaching/mentorship, all of which is designed around creating an environment where people on the spectrum can thrive.
Coding for Life by Austism Spectrum Australia provides an interesting iPhone/iPad curriculum uses coding to guide students through an understanding of how they complete daily life routines, how they logically problem solve and organize their thoughts, and then how they can apply these thinking skills to the coding language within Swift Playgrounds.
We hope that you have found this guide helpful.
Do you have any other resources or helpful advice that can help parents and educators teach autistic children how to code?
We’d love to hear from you! Please leave comments below.