If you're a teacher, there is a really good chance you've heard of block-coding, even if you don't teach computer science. That's because coding is quickly becoming one of the most valuable skills we can teach to students, and block-based coding is probably the easiest way to get started.
Why is block coding so easy? And why are we talking about it on the pi-top blog? Let's answer each of those.
Why is block coding so easy?
Block-coding is a way to write computer code without having to type out each command line-by-line. Instead of typing out instructions as you might with Python, Ruby, or Java, block-coding allows users to snap together puzzle pieces that each contain one component of the code instructions.
Snapping blocks together helps prevent things like spelling errors and typos, since there is almost no typing required, and it also helps prevent many syntax errors by preventing blocks from being assembled in ways that don't work.
By eliminating the possibility of those syntax errors, block-based coding allows users to focus on the logic of their code.
This is hugely valuable, as there are few things more frustrating or intimidating for young coders than a series of confusing error messages in a traditional coding IDE attempting to tell them where they've gone wrong. By eliminating the possibility of those syntax errors, block-based coding allows users to focus on the logic of their code without having to fret over whether or not they've got the language just right.
Relatedly, each of the puzzle pieces in a block code environment can be selected from a list. Typically, the list is arranged into sections based on the types of tasks performed by blocks- math, time, logic, etc. Unlike with most traditional text-based coding languages, where users must store all of the rules and code snippets in their heads, the organized list of components available through block coding means that a person can use the language without needing to have every part memorized.
So, why are we talking about this on the pi-top blog?
All of this adds up to a coding method that is great for beginners. By eliminating many of the hurdles involved in learning to code, more users can be introduced to coding concepts earlier and faster.
That's why we are excited to have added block-based coding to the pi-top ecosystem through Block-Pi. Block-Pi is a series of block-based coding lessons inside of our Further Learning platform.
The goal is to help beginner-level coders experience project-based, hands-on learning with pi-top, and to provide a transition into coding with Python.
The lessons on Further are designed to allow users to build code to control their pi-top hardware even without learning Python. The goal is to help more beginner-level coders experience project-based, hands-on learning with pi-top, and (critically) to provide a transition into eventually using text-based coding with Python.
By starting users with our Block-Pi challenges, they'll be able to build interactive projects in the real world- not just on a screen. They'll blink lights, buzz buzzers, push buttons, and more. And they'll be able to do it quickly and easily while developing their understanding of coding concepts.
And because we've made it easy for teachers to show not just the block code, but the underlying Python as well, students will have a much easier time starting to understand the text-based code they'll eventually move on to.
By introducing block-based coding through Block-Pi, we are helping future coders get their start earlier and easier. We are making the transition to text-based coding smoother and faster. And for students who might never learn text-based code, this option allows them to still experience all of the project-based learning challenges we've made available on Further.