The following is adapted from First Time Coders.
Knowing how to code can give children a leg up in the world. It is a marketable job skill, and it also teaches valuable skills that can help students succeed in school and life, like problem-solving, logical thinking, and creativity.
Coding can be especially powerful for nine- to eleven-year-olds because it is at this age that they often begin spending more time on smartphones and tablets, especially playing games. Coding is a great way to redirect their screen attention from passive consumption to active engagement. This way, the time they’re spending on screens becomes productive and not harmful.
As a parent or teacher, you likely recognize the importance of children learning to code, but chances are, you never went through any early-education coding yourself. So you know why kids should learn to code, but you don’t know how to teach them. In this article I’ll outline the how for you. I’ll give you best practices for teaching coding to kids in this age range, including age-appropriate learning objectives and recommended programming tools.
Learning Objectives: Create and Build
At this age, some students start to own their own smartphones. A large portion of their usage is dedicated to consumption of games and videos. Learning to code at this age range is about linking their increasing technology usage with an act of creation—that coding is something relevant for their daily lives.
That is why I recommend using tools that enable them to create on the mobile platform. It is important for students to work on concrete projects; be it replicating their favorite game, or something that solves a daily problem.
Developmentally, students at this age are able to focus for longer periods and start to develop a higher logical thinking capacity. This is a good time to start learning more complex computer science concepts and algorithms. For younger coders, I recommend sticking to block-based languages, but starting in this age group, students can begin building on the foundation of block-based languages by learning a syntax-based language.
To ensure that the teaching approach is age appropriate, there are four learning outcomes that parents and teachers should work toward achieving for this age range:
- Building Things: At this age, students are able to create something that’s relatable to their daily lives and leave a coding class saying, “Wow, I’ve used my mom’s phone for years, and now I’ve created an app on my own!” They can see the possibilities available at their own fingertips. Having them code web-based games is empowering in a similar way; they can share what they’ve made with their friends on any available browser.
- Theoretical and Conceptual: This encompasses the ability to summarize the concept of programming in terms of mental concepts in computing. They will be able to manipulate data using basic logic controls and to deconstruct problems, bringing in solutions from a user-centric approach. The user-centric approach is very important, because at this age they’re not just creating things for themselves—they’re creating products that other people can use, like an app or a web game.
- Technical and Software Skills: This age group will begin to establish a firm grasp on a primary programming language. App Inventor, a block-based programming language that can create mobile apps through a web interface, is a good place to start.
- Tangible and Portfolio Outcomes: At this age, students can start to build a portfolio of projects to showcase what they’ve created. This also helps them to develop the mindset that these projects are to be shared with their community.
App Inventor is appropriate for students who are already familiar with mobile devices, because it enables students to create their own mobile apps. App Inventor is a block-based programming language that was originally developed by Google and is now maintained by MIT’s Computer Science and Artificial Intelligence Lab (CSAIL).
App Inventor’s block-based programming feature gives kids the ability to drag coding blocks on the screen to create projects, and the mobile functionality empowers coders to build programs on their own phone.
Processing is a graphical library and development environment that uses the Java language. It is object-oriented and designed for the visual arts community. After writing code on the sketchbook, users can then run the code and see the visual results immediately.
With its relatively controlled environment and straightforward syntax, Java Processing is a great tool to bridge the block-based programming languages suitable for young children and the syntax-based programming needed for more advanced coding.
How Parents Can Help
Give feedback to enhance empathy. When students are making apps that can be installed on a mobile device, parents can test their child’s projects. Ask questions from a user’s perspective and provide feedback. This helps children develop empathy for their users and see the apps through their eyes.
Collaborate with peers. Parents should encourage students to collaborate with a friend or two in creating more ambitious projects. That way, they can develop collaborative skills while expanding on their technical know-how.
Showcase their work. Lastly, parents can encourage students to show their work to their friends and community. Some examples include showcasing their work at a school fair or participating in a technology competition. This is especially helpful for students to connect with fellow young coders and observe how people interact with their creation.
The 9 to 11 age range is one of the most exciting for learning to code. At this age, kids can begin to transition to more advanced, syntax-based programming languages, and they can build things that they can share with others. As the coding gets more complicated, parents and teachers can keep students engaged and interested by focusing coding exercises on things that are relevant to the students’ everyday lives, like mobile games.
For more advice on how to teach coding to kids, including many fun, age-appropriate practice exercises, you can find First Time Coders on Amazon.