The following is adapted from First Time Coders.
There are few ways you can better prepare a child for the future than teaching them to code. Computers are playing a larger role in nearly every industry, and as we face increasing automation of jobs, coding can lead to secure, stable careers. Coding also teaches valuable academic and life skills, like creative and analytic thinking and complex problem solving.
For these reasons, everyone—especially teens—can benefit from learning to code. In this age range, students will increasingly become self-learners and explore their individual interests. As such, teachers and parents can take more of a back seat, but there is still much you can do as a teacher or parent to help guide and encourage students in this age group.
In this article, I’ll outline the learning objectives and programming tools best suited for this age range, as well as tips for how parents can help support students at this stage.
Learning Objectives: Self-Directed Learning
Beginners in this age group may want to start with a block-based programming language, but starting at age 12, students are ready to transition to syntax-based programming languages like Python. These are the languages used by professional programmers in the real world, and they open up a world of possibilities, with imagination being the only limit.
At this age, students should be encouraged to look up information online. One of the key measures for success in learning to code is the ability to learn new things independently. This ability is a core competency of any coder, because all programming languages become obsolete over time, and a coder should know how to teach themselves a new language.
In this age group, students can move beyond creating projects by following the teacher’s instructions. They can now go online, read the documentation, and pick up the ability to code a new program on their own.
The overall goals for this age group are to shift toward self-directed learning and making real-life applications. This can be broken down into three main objectives:
- Learn to learn. This is a core objective in this age group, especially after gaining proficiency in several block-based programming languages and a first syntax-based language. Students should spend time searching online for other people’s code and other documentation. Adults can play a crucial role here to encourage teens at this learning stage to experiment. Teens can develop confidence in discovering new knowledge and applying it on their own project. Eventually, they can develop the ability to code up their own project without the guidance of a tutorial or a teacher.
- Gain empathy for users. At this age, teens can develop empathy for the users of their programs. Different from the younger age groups, teens start to create projects not just for their own use, but also for their friends, family, or the community around them. This is a crucial skill in building useful software, as students eventually will build things for people other than themselves.
- Learn design thinking skills. Design thinking is a methodology that includes empathy in the beginning of the process, and aims to develop user-centric solutions. Design thinking is an important skill to complement the technicality of computer programming. Coders with the ability to create software from idea to reality can then create user-friendly solutions to problems by following the cycle of empathy, defining the problem, brainstorming, prototyping, and gathering feedback.
How Parents Can Help
Encourage experimentation. It is important to remember and remind teen coders that coding is an act of creativity. There is no right or wrong approach to coding something, as long as we use it to create something from our mind. Encourage teen coders to modify the examples in this book, try and test out different ways to solve the challenges of each project, and eventually begin to code things that are not covered in this book.
Give critical feedback. Parents can be great first users for their teens’ apps and websites. Give direct feedback. “I am confused about what this button does.” Or “I wasn’t sure where to click on this page.” Teens can learn empathy by actively listening to user feedback.
Find community issues. Coding is a useful skill to help solve problems around us. Teen coders can feel empowered when they are encouraged to solve problems in their daily lives. Parents can point out the problems they see in their own lives and encourage teens to use technology to solve the problem. As an example, at First Code Academy we had a student who created a calendar app to help her mother organize the family’s schedule.
The teen years are a critical transition period for kids learning to code. It is at these ages that they can begin to build things with real-life applications and solve problems in the world around them. A focus on independent learning and meaningful projects will lead to the most successful outcomes for these students. As a parent or teacher, you can support them by offering feedback and guidance and encouraging them to explore creatively.
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.