Programming Languages for children
Today programming is becoming an important skill just like reading and writing and it is being taught in many elementary and high schools as part of their regular school curriculum. Some parents ask “Why teaching programming when students may not work in the technology industry?” The fact is in the future, regardless of where they work, everything they do will require programming skill. Having this skill will open them up to a world of endless possibilities and better jobs. Many years ago, psychologist Jean Piaget defined the goal of education as “to create individuals who are capable of doing new things, not simply of repeating what other generations have done”. In today’s technology-driven market, young people need to learn the skills that help them to do new things, not follow what has been taught in the past.
Not long ago, students have to enroll in a Computer science program to learn how to code. Now there are resources available online such as MOOCs, YouTube, and specific tutorial websites. Students do not even have to pay to learn. If they put in the efforts and master programming skills, they will be much better in the future than the one who does not. For young children from 4 to 12 years old, I recommend the following programming languages:
Scratch is a Programming language developed by MIT’s Lifelong Kindergarten Lab. If you want to teach children to program, this is the best language to start. It is very easy to learn and include tutorials and instructions for parents. Scratch can be used to make real animations and games using either prepopulated images and characters or by uploading new ones. Scratch can also be used without an internet connection. Children can share their creations on Scratch’s online community.
Blockly is a programming language developed by Google. It is basically a refinement of Scratch using the same interlocking building blocks, but it can output code in several different programming languages such as JavaScript, Python, and PHP. This can be a transition activity, after mastering Scratch, children can learn other languages. They can see the code along the side of the screen as they link blocks together, and they can switch languages to see the difference in language syntax for the same basic program.
Alice is a programming language developed by Carnegie Mellon as a 3-D programming tool to teach the concepts of object-oriented programming languages like C++. It uses the familiar approach of building blocks to allow children to create games or animations by programming camera motions, 3D models, and scenes. This language will open children to many things such as 3D graphics and robotics.
Swift is a programming language developed by Apple to build iOS apps. Swift Playgrounds is an iPad game designed to teach children how to program in Swift. The app contains a lot of tutorials on different commands that are designed to move a character named Byte along a 3D world. Swift Playgrounds does not use the interlocking block interface, but after children are good in Swift Playgrounds, they can start developing in Swift for mobile apps.
By teaching children to write code early, you are enhancing their Computational thinking which makes them easy to learn complex Problem-solving and developing the Critical thinking needed when they go to college. Computational thinking is the ability to express the thoughts in a rational and sequenced way. It is the foundation of Artificial Intelligence and Machine learning and many future technologies. Without developing this skill early, some students may have a problem in acquiring this skill at a later time because it requires a certain logical step by step in approaching solving problems.
Sources
- Blogs of Prof. John Vu, Carnegie Mellon University