According to Steve Jobs, “Everybody in this country should learn to program a computer, because it teaches you how to think.”
We live in a digital age in which computers are everywhere and have become an essential part of our lives. Every student should have access to technology, whether it be computers, smartphones, or tablets because almost everything we do requires some form of programming.
Why coding instruction should begin as early as possible
Coding or computer programming is writing a set of instructions that a computer understands so it will perform a task. There are several advantages of learning to code in elementary school.
First, learning programming empowers kids. Coding puts children in control of the computer and through experimentation builds mastery in sequencing skills, counting, problem solving, logical thinking, cause and effect, and critical thinking. Additionally, children can express themselves through code and find it cool to create games, apps, and websites and to even control robots.
The earlier we introduce coding to children, the more comfortable they will become with computers and technology and the more successful they will become when presented with more challenging learning opportunities. Children are extremely eager to learn how to code.
Just like learning a foreign language, the language of coding should begin early with vocabulary terms such as program, sequence and algorithm. Developing the basics provides students with the computer skills they will need for any career they choose in the future.
(Next page: More reasons to introduce young students to coding)
Building an age-appropriate toolbox
Fortunately, there are several tools (many of them free) that introduce coding to young children. These age-appropriate resources make it simple for teachers to introduce coding skills to students, even if they are relatively new to coding themselves. Here are a few key elements to pay attention to when incorporating coding in early elementary classrooms.
Basic coding concepts
For very young K-12 students, reading skills are still developmental. For this reason, coding tools that don’t require reading are often ideal.
For example, the Fisher Price Think & Learn Code-a-pillar app teaches sequencing, problem solving, and counting skills to preschoolers and beyond. Students can also interact with the motorized Code-a-pillar toy to arrange and experiment with connecting segments to have Code-a-pillar move in different directions. This teaches planning and sequencing as well as critical and independent thinking.
Kodable is another resource that does not require any reading. Children use programming logic with drag and drop commands to program Fuzzballs to move through mazes and collect coins.
Compelling coding goals
Without engaging environments to code in, young students will quickly lose interest in programming. If the end result of a coding command is something as simple as moving a block on a screen, young students won’t build a love for coding. If feedback comes from fun characters and real robots, students will be more likely to dive deeper into the skills.
The Bee-Bot app enables young children to learn directional language and programming by navigating a bee through sequences of forwards, backwards, left, and right 90-degree turns. Students progress through increasingly complex levels within the app. The Bee-Bot robot also offers engaging coding feedback for young children. The bee blinks and beeps at the conclusion of each command and gives immediate feedback with lights and sounds.
Similarly, in Scratch Jr., five- to seven-year-olds use block coding to drag and drop blocks and snap them together, using objects called sprites to create code and build their own interactive stories and games.
Why we should teach coding in elementary school
Another benefit of teaching coding at a young age is facilitating problem-solving in a group setting. This is a fundamental skill that students will rely on throughout their education and in the workforce. Students might work in virtual teams or face to face to collaborate on coding problems.
One way that older elementary school children can work on coding collaboratively is through Scratch, a block programming language in which students create multi-player games and more to interact with other students in an online community.
Our school has also participated in a competition through CodeMonkey, which teaches the principles of text-based coding that is widely used in today’s programming around the world, using the programming language CoffeeScript. CodeMonkey’s Code Rush competition is designed for elementary and middle school students throughout the country. Teams are challenged on 150 levels of programming topics such as objects, functions, simple loops, variables, and arrays.
The competition provides an opportunity for students to work both independently and as a team. Last Spring, the Schechter School of Long Island’s two Code Rush teams finished in the top 10 nationally. The competition motivated our students to work together, conquer complex challenges, and, most importantly, learn to code.
For all of these reasons, coding should be taught as early as possible. It fosters teamwork and collaboration and brings students’ ideas to life. It empowers our kids and it’s fun. It also prepares our children for the future. Rather than just interacting with computers and technology, kids can create technology that is essential for possible career paths in the 21st century.