What is block based programming?
Computer programming is a way of giving computers instructions about what they should do next. These instructions are known as code, and computer programmers write code to solve problems or perform a task.
The end goal of programming is to create something: that could mean anything from a web page, or a piece of software, or a program. That’s why computer programming is often described as a mix between art and science; it’s technical and analytical, yet creative at the same time.
Moreover, compared to natural language, programming is a structured, but reduced language based on rules of formal logic and mathematics. It resembles natural language in the fact that it uses grammar and symbols. But very often it lacks the context and nuance of a very well established language.
Block-based programming uses a puzzle-piece metaphor as means of providing visual cues to the user as to how and where commands may be combined and used.
Block-based programming environments have been designed for children as young as five years old but most environments are designed for kids ages eight to 16. Writing a program in a block-based environment takes the form of dragging-and-dropping programming instructions together. If two instructions cannot be joined to produce a valid statement, then the environment prevents them from snapping together.
What are the benefits of using block based programming in education?
- Accessible and fast
Block-based programming emerged as the best solution to the above problem. The idea is to create a code in a way that is both visual and similar to traditional text-based coding . All the developer has to do is to connect visual “building blocks” in a logical way. - Syntax-free programming
Block-based coding lessens the burden of using complex syntax and lets the users focus on programming in a fast and clear manner. The code written in visual blocks has strong expressive power and can be mixed with text-based code written in mainstream programming languages. - Co-creating knowledge reinforces learning
When students can share and talk about their work, the feedback they receive from other students reinforces their learning. Therefore, they seek to make improvements and add new features to their code as they progress. This creates a community of learners that is truly “constructionist” — co-creating knowledge together — instead of “instructionist” — taught by the teacher, the same way for everybody.
Article inspired by David Weintrop | Communications of the ACM, August 2019, Vol. 62 No. 8, Pages 22-25 | 10.1145/3341221
If you want to kickstart coding or teach robotics, try Fable Blockly. Download our software here and try some activities that you can do without a robot.
Download our latest activity sheet “Show and Tell”, and start working with robotics in the classroom!