Learning how to Program With Fun Tools Like These can Encourage Students to Take Control of Their Own Learning.
Technology education for young students must constantly evolve to keep pace with the ever changing nature of the subject. Some basic computing skills are now standard curricula for elementary students in classrooms around the world. However, there has been one area of computing technology that has not achieved wide-spread adoption in the elementary school classroom: the discipline of computer programming.
While most parents and educators would agree that learning how to use computer software is an important skill for modern young students, there is less consensus on the question of what age is appropriate for kids to be introduced to basic programming skills. This lack of consensus is at least somewhat attributable to the common perception that creating software programs is an advanced science that belongs only in the upper levels of education.
Why should kids learn about computer programming?
1. Demystify the Computer: Like many other sciences, basic programming knowledge can be introduced to kids at a remarkably young age. Teaching young students about the inner workings of software helps to demystify the computer, turning it into more of a productivity tool and less of a “magic box.”
2. Form a Foundation for Further Learning: Offering computer programming education to kids at an early age also helps to create a foundation for future learning of related subjects like math, logic and grammar.
3. Encourage Students to Take Control of Their own Learning: Learning how to program a computer to do things provides a wonderful sense of ability and control. When kids learn how to command a computer to do things and use tools like these in creative ways, it can truly inspire to take control of their learning in other areas and encourage them to learn more.
4. Counter Preconceived Gender Bias: Offering computer programming education to young students also gives educators a positive way to address certain myths around gender-based learning bias. The real or perceived shortage of women working in information technology (and in the field of software development especially) has served to reinforce the antiquated opinion that children have gender-based impediments to learning certain subjects. Introducing all children to software development basics acts as a tacit statement against such gender bias beliefs.
5. Introduce the Skill of Collaboration: Computer programming classes can be used to reinforce the advantages and benefits of collaboration. In the professional world, very few software projects are worked on by a single programmer. It takes a team of software developers, each member working to their individual strengths, to produce a successful result. This is a strong message to reinforce in the classroom.
Traditionally, introducing kids to programming has been difficult due to a shortage of relevant teaching tools and resources. However, in recent years, there has been a surge of innovative new products geared towards teaching programming basics to young students. Many of these products are available for free or at low cost, a big plus for budget-challenged schools.
Three modern “coding for kids” products available for educators to implement in the classrooms
1. Hopscotch, a visual programming tool for the Apple iPad, builds nicely on the fascination that young people have with Apple's popular tablet device. The product has a robust online community dedicated to sharing new Hopscotch projects. In addition, Hopscotch is featured in many teacher-to-teacher education blogs.
Hopscotch won the 2014 KAPi Award for “Best Educational Technology” and is a consistently top-rated app on Apple's online store. Hopscotch offers language support for English, Spanish and Simplified Chinese.
2. Scratch is a free programming tool created by the Lifelong Kindergarten Group, which is part of the MIT Media Lab. Scratch is a Web-based application which can be run in most modern Flash-enabled browsers. The online Scratch community contains over five million projects, featuring animation, games, art and story projects. Scratch is not only free to use in schools, but teachers can also create and teach courses on Scratch without paying any licensing fees.
A new version of Scratch (tentatively named Scratch Jr.), aimed at children 5-7 years old, is currently in development at Tufts University in Maine, in association with the Lifelong Kindergarten Group at MIT.
3. Alice, a 3-D programming environment for young students, is available as a download for Windows, Apple OS X and Linux. Alice has an impressive list of supporting sponsors, including industry giants Google, Disney, Oracle and Sun Microsystems, not to mention benefactors like the National Science Foundation and the Hearst Foundation. Alice comes in two major versions: Alice 2.x offers a beginner's introduction to basic programming concepts, while Alice 3.x elevates the student into learning object-oriented programming, eventually transitioning the student into using the full Java programming language.
These are just a few of the products currently available for educators looking to teach computer programming to young students. As greater awareness of the need to “develop our future developers” grows in the workplace and on college campuses, teachers should expect to see even more tools and resources dedicated to helping kids become the next generation of software creators.
*Seymour Papert (1993). The children's machine: Rethinking schools in the age of the computer. New York: Basic Books.