Do Block Interfaces for Kids Coding work? Or should I just go to native code? For decades, computer scientists have dreamt of programming computers without words or the ability to make syntactical errors. Blockley and Scratch are both block-based visual programming languages targeted primarily at children. Both use a drag-and-drop system with small functional blocks of code, making syntactical errors literally impossible. This has proven to be an effective learning tool for kids who have not yet developed typing skills.
Learning to code is generally a difficult task as it commands a high cognitive load for students, as well as introduces a variety of new concepts that are often difficult to grasp. Block interfaces simplify this problem – picking a block from a selection is far easier than remembering a word. The block format relies on recognition instead of recall, which in turn facilitates learning at a faster rate. This reduces the cognitive load by consolidating code into a small number of purposeful elements.
Block interfaces offer an environment where users can assemble code without encountering regular errors. This is done by providing constraints to the direct manipulation of logic – e.g incompatible concepts do not have connectable parts. The process of failing and trying again is inherent in coding, and by preventing error children find tasks less stressful and more fun to engage with. This provides the incentive to continue until they produce the desired result.
A study by researchers David Bau and Jeff Gray provides research and evidence that block languages have an advantage over those that are text-based, and are advocates for the further development and use of visual-based programming languages
“The art of programming is the original human-computer interaction, and it remains an unsolved usability challenge. We can still do more to make programming available to all”.
Block Interfaces for Kids Coding still has a ways to go, but it has progressed to a level where it has benefit for younger students.
1. Block Based Languages Are Best
2. Learnable Programming: Blocks and Beyond