What’s the Best Coding Language to Learn, Even for Kids

Feb 11, 2020 9:00:00 AM / by Hatch Coding

In the world of computer programming for kids and teens, two primary approaches have become common: teach using block-based languages and teach using fully featured programming languages. What is the difference between the two?

Block-based coding, also known as drag and drop programming, is a teaching approach where coding instructions are represented as blocks. These blocks can be clicked, dragged, and re-ordered in editable fields like drop-down menus. This graphic format can easily demonstrate the coding process to users who are new to programming.

The other approach is to use a fully featured programming language, one that uses text and typing. All software today is built through this approach. It is responsible for making some of the most innovative online apps, games and social media platforms we enjoy today. With a fully featured programming language, lines of code are written, by typing, to make a program.

The Best Coding Language to Learn: Benefits of Block-Based Language 

Block coding appears to make coding accessible to learn: Because everything is bright and colourful and simplistic, block coding is a process of simply dragging the blocks and running the program. It’s design makes it accessible and easy for both students and teachers.

All industries, from Anthropology to Zoology will incorporate computer programming into their process. Doing some block-based coding activities and exercises can be a good supplement to learning how to read and write code with a programming language. 


“The progress made by blocks language interfaces can inspire us all to see that programming can be made more learnable.” -D. Bau, et al.

4 Big Drawbacks and Limitations of Block Coding

  1. Block coding is limited and inflexible. Block-based languages have a limited vocabulary and a definitive ceiling on complexity of thought. Using them is like teaching English but only giving the learner 13 letters of the alphabet instead of 26. As a learning tool, it’s appropriate for isolated learning exercises, like doing individual drills in soccer or practicing scales in piano. Peter Kuperman, Hatch founder, sums it up best: “It’s like learning inside of a walled garden and only being exposed to what’s inside.” Block coding assumes that kids can’t learn when, really, evidence points to the opposite being the case.
  2. Debugging is limited. Debugging, an important part of coding education, is limited and different than in text-based coding languages. If a student moves on to text-based coding after first experiencing block-based learning, they are likely to experience frustration when they first transition to a higher level. Extending our piano analogy, it’s exponentially more difficult to make a melody sound good than it is a simple scale. 
  3. It creates bad habits early on. As Penjee.com explains, “Students tend not to incrementally test out new instructions. Instead, it’s pretty common for kids to throw lots of blocks together before testing out if their instructions work. This is only natural, given the creative and fun nature of using blocks...However, once syntax errors are introduced in text coding, this same habit can actually increase student frustration.” 
  4. coding on computerIt’s only suitable for beginners. While block coding is great for absolute beginners, as soon as a student becomes more proficient they will hit a ceiling with their learning. Instead, the focus should be on learning real-world coding languages like Python or Javascript, both of which are taught from the beginning to all Hatch students.

Fully Featured Programming Languages: The Primary Approach to Learning Code 

Children are at a prime age to start learning to read and write code when they are young. As with learning any other language, elementary school is when children are most likely to easily learn computer programming languages. Children age seven and under have the ability to pick up foreign languages rapidly, so why can’t the same be true of computer programming languages?

Hatch skips block coding altogether and starts students with a programming language that has infinitive creativity and complexity, just like a spoken language like English. We don’t learn a fake language and then learn English to communicate (or French or Spanish). So why should we with a programming language? When students run into problems, they are required to use creative and critical thinking to solve real problems and real errors in their communication. They get to choose which text-based language they like, based on their expertise and unique way of thinking. This way, they aren’t held back when they become proficient, and they won’t become frustrated when learning new things.

According to Tech Writer and Educator Steve Krouse, students secretly love a challenge. He argues doing hard things feels good because:

  1. If you overcome them, you’ve proven yourself.
  2. If you fail, it doesn’t matter. You’ve tried to do something hard many others won’t even try.

Develop Relevant Skills by Learning the Best Coding Languages Out There

learn to read and write code e-book button

References:
https://scratch.mit.edu/
https://www.youtube.com/watch?v=_Mwc1gc77dc
https://arxiv.org/pdf/1705.09413.pdf
https://www.burning-glass.com/research-project/coding-skills/
https://www.techopedia.com/definition/16373/debugging
https://blog.penjee.com/what-is-block-based-coding/
https://www.parent.com/the-best-age-for-kids-to-learn-a-second-language/
https://www.freecodecamp.org/news/scratch-has-a-marketing-problem-f84626bd18ef/

Topics: kids learning code

Hatch Coding

Written by Hatch Coding

Subscribe to the Hatch Blog

Topics

See All

Recent Posts