What is block coding? How is it different from normal text coding? Is block coding for kids or a great introduction to coding? Find out here.
We are Kinvert, and we’ve helped get thousands of kids interested in STEM (Science Technology Engineering and Math).
Kinvert has helped teach kids all over the world about Robotics (What is Robotics?), Programming, 3D Printing and more. We teach with higher level tools than any other STEM education company we’ve seen. Everything we teach with is tested thoroughly.
For example, when other companies teach Robotics they usually use Lego, or something below that such as Sphero, OzoBot, Dot and Dash, etc.
We teach with the Anki Cozmo SDK and the Parallax ActivityBot 360. Our students have used Oscilloscopes. This is a long way of me telling you that we know the full range of teaching tools in depth. We teach kids as young as 6, and others with a lot of experience that are ready to head off to college.
Ultimate Guide to Block Coding – Outline
This is a big topic. You might only have one or two questions, or you could use this as a reference you check back on later.
We made this outline clickable so you can click on a headline below, and you’ll be taken to that section of the article.
- What is Block Coding? – Why is it important for your kids to learn robotics?
- What is Text Coding? – What is normal Text Coding?
- What’s the Difference? – How is Block Coding different than Text Coding?
- The Importance of Coding – Coding is the new literacy
- Benefits of Block Coding – What are the benefits of Block Coding?
- Block Coding Shortcomings – Are there shortcomings of Block Coding?
- Block Coding Languages – What are the main Block Coding Languages?
- Where to Learn Block Coding – Where are the best places to learn Block Coding?
- Who is too Young to Code with Blocks – Can someone be too young?
- Too Old to Code with Blocks? – What about if someone is too old?
- Scratch Alternatives? – Are there alternatives to Scratch?
- Taking the Training Wheels Off – The end goal of block coding – typed coding.
What is Block Coding?
Block coding is a way to program without having to write text. It is generally simplified and is used as an introduction to coding.
There are many ways to program with blocks. However there are several popular methods such as Scratch, Blockly (used by Parallax), Cozmo’s CodeLab, and Lego EV3. But that doesn’t mean block coding is only for kids.
In general this can also be referred to as visual programming. Similar tools can be found in very powerful platforms, such as Matlab’s Simulink (which I used in college when getting my Mechanical Engineering degree and my Aerospace Engineering degree).
Some consider it the best way to get kids started in coding. Some consider it a crutch.
Long story short, we think it is great as an introduction. However, in general most STEM Education companies have kids use visual programming that are far too old and should be transitioned to text programming.
What is Text Coding?
Text Coding is how most developers make a living, and it’s what you see poorly portrayed in movies and on TV. One show I’ve noticed that does a good job depicting Coding is Silicon Valley. That said, it is not a kid friendly show.
There are many programming languages that serve many purposes. But what you will find is that the vast majority of people who are paid programmers, or coders, use typed programming languages.
At Kinvert we focus a lot on Python. It is very powerful yet easy to learn.
We also use the Parallax ActivityBot 360 which can be programmed in C. C is more difficult to learn but is also a common language.
What’s the Difference?
Ultimately the big difference, at least to us at Kinvert, is the career and growth potential.
With hardly any exceptions, people that are paid to code do their programming in typed languages such as Java, Javascript, Python, and many others.
There also tends to be a limit to how much can be achieved with block coding.
That doesn’t mean it isn’t a great way to get kids introduced to coding.
In fact, some students come in to Kinvert that are far behind in reading and typing. These kids benefit greatly obviously first with practice in reading and typing, but also with graphical programming languages such as Parallax and Blockly.
The Importance of Coding
Coding is the new literacy. Code drives just about anything you interact with on a daily basis.
You’ll be hard pressed to find many of the main things you use in a day. But even when you point to, say, a fork, I can tell you that almost certainly – code was used in it’s creation.
I used to design big complicated machines for companies. Even though I wasn’t a coder by profession, I benefited greatly by being able to write scripts and macros to streamline my work.
There will be fewer and fewer jobs that don’t involve computers and technology. People need to be proactive in making sure their kids are prepared for this exciting yet trying future.
Benefits of Block Coding
The big benefit of graphical programming languages come in helping kids that can’t read and type very well. We use block coding for kids that can’t read well because often times blocks are icon based.
By far the biggest difference we see in kids ability to hit the ground running in Python is their ability to read and type.
So when a kid is struggling with typing and reading we do what we can to help them with that and also nudge them in the direction of graphical programming.
However, we consider block coding to be the training wheels. Our goal is to get them off their training wheels and in to typed programming languages.
Another situation where Kinvert loves visual programming is at events such as Maker Faire Detroit. If we have a kid’s attention for an hour we can get a ton done with Python. But when they only have 15 minutes, graphical programming is the way to go.
Block Coding Shortcomings
This will depend on what language we’re talking about here.
In general, the biggest issue I have is that the code that powers practically everything you use is typed code.
The people who make a living as developers type their code. Very few snap their code together like Lego bricks.
A lot of people have the false impression that their kids know how to code now that they took at Scratch, Minecraft, or Lego class.
They will have learned some basic concepts, which is a good thing. But they will probably not know how to make things outside of those specific environments.
If you want to get your kids introduced to coding, then yes, block coding very well might be the right choice.
That said, block coding is the set of training wheels that you should hope to one day remove. You want your kids to be able to ride a real bike. You want them to be able to write real code.
Most block coding is simplified. For example, you can program Cozmo with block coding. But if you want to do something advanced like displaying an image on his face, you need to do it in Python.
Block Coding Languages
There are too many to fully list here. That said I’ll mention the ones I recommend the most and talk briefly about them.
Parallax Blockly
What we love about this is that is is backed by Parallax. It is our favorite educational electronics / robotics company. You can build REAL robots and program them with Parallax Blockly.
Blockly was originally made by Google, and several people and organizations have found ways to customize it to do amazing things.
One of our favorite learning tools is the Parallax ActivityBot 360 Robot which can be programmed in Blockly.
Cozmo Code Lab
Cozmo is an incredibly lovable robot, and he can be programmed in a visual programming language based on MIT’s Scratch.
Students love it, and we consider it a great way to funnel them toward programming in Python.
We use Cozmo in Coding for Kids and Teens, as well as Robotics for Kids and Teens. We use both Block Coding and normal text coding with the Anki Cozmo SDK.
MIT’s Scratch
This is by far the most popular and is honestly a really cool tool if used correctly. The only real problem we have isn’t MIT’s fault, but rather the way that most STEM education companies use Scratch.
Lego EV3
This is another STEM staple. We seem to be about the only exception to the rule. If you look around for companies that teach kids Robotics, they almost certainly have classes with Lego Mindstorms and EV3.
While it used to be just about the only good way to have kids built robots without the need of power tools, there are new options.
We can now use real written languages and students can make the robot parts with a 3D Printer in 3D Printing for Kids and Teens.
Where to Learn Block Coding
You can learn some here 🙂
For example we made this image for our article on MIT Scratch 3.0 VS Scratch 2.0.
I was created with the following code.
You can learn Scratch for free at home.
When you’re done with this article and any others you want to read for a bit more detail, head over there. Try it out. It’s fun and a great way to introduce people with no experience to programming.
After that, check out Parallax Blockly and Cozmo Code Lab. These options are not free, but they give a lot more growth potential. In my opinion these are the best options to set your kids up for success.
There are plenty of other graphical languages out there. They have different features. Some are very powerful (Simulink), others are OK (Lego, Scratch), while many are very weak (Sphero, Dot and Dash, CoderMip, OzoBot).
Most STEM education companies teach primarily with these lower tier platforms, which is fine for beginners.
At Kinvert we teach with Parallax and Cozmo when using Block Coding.
Who is too Young to Code with Blocks
It depends.
Don’t dump them in with no help, and proceed to let them get frustrated and quit. So if you’re going to just drop it on them without some support system, make sure they’re around 9 and up.
Generally, if you will work with them or get them in some form of curriculum, they’ll do fine. I have plenty of very young students that can’t read and enjoy programming Cozmo using Code Lab.
Kinvert has taught 6 year olds Python, so the main thing is the environment the kid is in. Block coding for kids under 5 years old is feasible with help.
Too Old to Code with Blocks?
No one is too old.
The question is the experience level.
For example, and introductory Computer Science course at Harvard uses Scratch at least in early assignments.
At Kinvert, as soon as a student shows they can read and type proficiently, we try to start getting them in to Python as soon as possible. We talk about this in Age to Teach Kids Python.
Scratch Alternatives?
Scratch may be the big kid on the block, but there are lots of alternatives.
Here is a list of Kinvert favorites with the most love up at the top. We give a bit more detail about these above in the Block Coding Languages section.
- Parallax Blockly – Based on Blockly by Google
- Cozmo Code Lab – Based on Scratch
- Scratch – Not a Scratch alternative
- Lego EV3
Taking the Training Wheels Off
The goal with visual programming should be to get kids in to a typed language. It is a great, syntactically stress free way of getting kids introduced and interested in coding. We should use it for it’s strengths.
Once students can read and type, it’s time to start trying to get them in to something like Python.
We write about this in a bit more detail in our article about Age to Teach Kids Python.
Some kids will struggle a bit with topics such as variable or conditionals. Having a graphical programming language handy is a good tool to help them out.
Ultimately, developers build things and make their living off of typed languages. We use block coding as a step to get there, and not as a “Mission Accomplished.”
What to Read Next?
Good question.
We have already linked to several articles that might be useful.
One that could be particularly useful is Learning Robotics from Home.
If you’re already bored of Cozmo’s Code Lab, check out the Anki Cozmo SDK and Anki Vector SDK.
To see some quick examples of Python Code, a good place to look is Cozmo Examples and Vector Examples.
If you’re reading this, chances are in the not too distant future you’ll want to find the Best STEM Gifts for Kids – Educational Toys.