Whether they are performing their morning routines, building sandcastles or creating animated birthday cards, children find themselves learning and using coding skills. Coding is a process, and processes are everywhere.
Before children begin lessons in coding, they should be taught about algorithms and processes, said Shaina Glass, Professional Learning Manager, Computer Science Teachers Association (CSTA). For children, that means learning how to solve problems or following step-by-step instructions to complete a task.
Parents can start the coding lessons with young children by teaching them about the algorithms and creative processes that they perform in their daily lives, Glass said. She explained that children start their mornings with necessary steps: get out of bed, brush their teeth, wash their face, put on deodorant, put on socks and then shoes.
“Those are algorithms which can easily be defined as how a computer functions,” she said. “The computer can only give specific directions, and they only work off of those functions. If anything is awry, then you won’t get the output.”
Functions impact the entire operation, making them the foundation of learning to code, Glass explained.
What Is a Good Age to Start Teaching Kids Coding?
At a young age, children are learning vocabulary and the order of the alphabet; those are the beginnings of thinking about processes, which are critical to coding, Glass said.
A good age to start coding lessons is four, according to Glass, who recommended parents and teachers can start by talking about bits and bytes. Bits are the smallest unit of information that can be kept on a computer. Eight bits make a byte, which can represent a number or a letter of the alphabet, for example. By explaining these concepts, Glass said parents begin lessons in code.
Through learning vocabulary, language skills, routines and processes, young children learn what happens if they do something and what happens if they choose another action instead. Storytelling also can be the beginning of coding lessons, Glass said.
“Start with literature,” she suggested. “Make sure parents have a library. If you start with books, kids get it and they can understand it.”
To see recommended coding lessons for different grade levels, jump to a section below:
What Are the Benefits of Teaching Coding to Kids?
In his popular TED talk titled “Let’s Teach Kids to Code,” Mitch Resnick, Professor of Learning Research at MIT Media Lab, described how learning to code opens doors to more opportunities in education.
“You learn more about how computers work, but that’s just where it starts,” said Resnick, who also founded Scratch coding community and language. “When you learn to code, it opens up for you to learn many other things.”
Resnick listed these benefits from learning to code:
- Understanding variables
- Creative thinking
- Systematic reasoning
- Working collaboratively
Like Glass, he said that coding allows children to learn skills “that people can use no matter what they’re doing in their work lives.”
What Makes Good Lessons and Coding Activities for Kids?
Various standards may apply to a computer science curriculum, which includes coding. The CSTA has developed standards for educators to use along with state guidelines. For Glass, effective lessons in coding boil down to purpose.
“Look for objectives. If the activity doesn’t start with the objective as to why students are doing it, then it’s not valid,” she said.
According to CSTA K-12 Standards, these are the lessons parents and teachers should look for in good coding activities:
Use the proper lexicon, describe problems, provide instructions, understand privacy and credit others when using their creations; write programs to make them easy to follow, test and debug.
Understand the concept of data and data storage, recognize patterns, develop encryption, recognize the purpose of protocols, translate between bits and characters, numbers and images.
Develop programs with sequences and loops, modify programs to do something new, use feedback from users to design programs, make prototypes using prior knowledge and interests.
Decompose a problem (or break down steps that solve it), analyze how different algorithms affect outcomes, evaluate what affects efficiency in how data is organized and stored.
Fix algorithms, determine which algorithm is appropriate, use different scenarios to verify that a program performs according to design specification, develop troubleshooting strategies.
Consider different user preferences and perspectives, seek diverse perspectives to improve programs, examine a program’s effects on society and if there are issues around equity and bias.
Use tools and methods to ensure good communication, work with peers on design, implementation and review, incorporate feedback, distribute tasks to maintain a timeline.
Coding lessons don’t have to involve the most elaborate or eye-catching outcome to be effective. “It’s important to get away from just the shiny colors and actually make sure it has purpose,” Glass said.
What Coding Skills Should Students Have as They Advance in School?
Some young learners will find coding interesting and will want to learn as much as possible. Other children might develop an interest in later grades.
While there are no rules about when children can start learning different coding languages, Glass shared her breakdown of how coding lessons can progress as students advance. The resources were recommended either by Glass or Common Sense Media.
How to Teach Coding to Preschool-Kindergarten Students
Storytelling: Reading books and sharing stories develops vocabulary and language skills around plots or problems.
Coding knowledge: vocabulary, expression, tactile block-building
- Pearl and Pascal book series by Josh Funk: Stories about big problems that need to be broken down into smaller actions or steps to be fixed.
- Coding Express, Lego Education – Early Learning: Kits and activities to introduce and develop problem-solving skills, critical thinking and collaboration.
How to Teach Coding to Elementary School Students
Solving problems: Understanding what steps (functions) are necessary to fix problems builds knowledge of process.
Coding knowledge: Blockly, HTML
- Hour of Code Activities, Code.org: Tutorials for children at different levels to learn coding at their own pace by using Blockly or block-coding.
- Scratch, Scratch Foundation and MIT Media Lab: Platform offers tools and a community to create stories, coding games for kids and more.
How to Teach Coding to Middle School Students
Creating problems: Producing problems for others to discover and solve requires testing and collaboration.
Coding knowledge: Blockly, HTML, Python
- LightBot: Puzzle challenges on an app that was created by first-time coders and teaches computer programming concepts.
- CodeMonkey: Game-based coding activities designed for kids who have no previous experience in computer programming.
How to Teach Coding to High School Students
Creating and solving problems: Finding problems and building apps or websites to fix them demonstrates the benefits of coding.
- Codecademy: Hands-on lessons on the website or via mobile apps provide students with experience through different activities.
- Sololearn: Courses and a global community where learners can ask questions and get support on the website or via mobile apps.
More Websites and Organizations That Support Teaching Kids to Code
Black Girls Code: nonprofit that strives to make more opportunities available to young women of color by introducing them to computer programming and technology.
Code.org: nonprofit with a vision to provide every student in every school the opportunity to learn computer science as part of their core K-12 education.
Code Club: worldwide charity effort with volunteers, educators and partners who run free coding clubs for students ages 9-13 to build and share ideas.
CoderDojo: free, volunteer-led, community-based programming clubs where kids ages 7-17 can learn to code, build a website, create an app or a game and explore technology.
Common Sense Media: research-based nonprofit that reviews coding websites and apps for students at different levels of learning.
CSforAll: organization and its online community aim to make quality computer science available to K-12 students, providing them with pathways to college and success.
CS First with Google: free computer science curriculum to give teachers tools and resources to expose young children to CS, providing them with more opportunities.
CS Unplugged: collection of free learning activities that teach computer science without a computer through games and puzzles that use cards, string, crayons and lots of running around.
Girls Who Code: organization with a mission to build the world’s largest pipeline of female engineers through coding clubs, summer immersion sessions and other programs.
Hello World: computing and digital making magazine for educators from U.K.-based Raspberry Pi Foundation which works to enable people everywhere to use the power of computing.
Last updated in December 2021