What are Blocks?
What is Code?
Have you ever wondered how humans tell machines what to do? Machines might seem to work via magic, but that “magic” is actually thousands of lines of computer code.
Computer Code is how humans talk to computing machines, which nowadays include desktop computers, laptop, phones, tablets, video game systems, robots, satellites… and the list goes on!

At the heart of all these machines are microprocessors, which is the “brain” of a machine. Unlike our brains which evolved over billions of years, machine brains were created by human scientists over about a century.

Microprocessors control the flow of electricity in a computing machine, and by “talking” to them we can tell them what to do. Microprocessors might tell a light to turn on, a phone to vibrate, the color of pixels, or a robot to start moving.
You might think the image at the top of this page looks like garbleegook if you’ve never written a programming language before, but the “machine code” that speaks directly to microprocessors looks even worse!

Computer programming languages like JAVA, Python, and C++ allow humans to write machine code in a language they can understand.
Enter Blocks
Teachers of Computer Programming noticed that it was difficult for students to “climb the first hill” of learning a programming language because it was too much new information at once, so they thought of a new way to teach the concepts of computer programming: programming blocks.

Programming blocks combine the simplicity of building block toys like Legos, with the power of writing a programming language like JAVA. By stacking and combining blocks in the right order, students are able to write computer code that a computing machine, like a robot, can understand.
“Behind the Scenes” the blocks are translated first into a programming language (JAVA for our application) and from there into code that controls a machine. While the Virtual Robot Simulator uses a virtual robot, the computers that run VRS interpret machine code in a similar way to the physical robot– they just control the virtual parts instead of physical parts, otherwise the code is the same.
The Future of Blocks
While blocks were developed initially as a way for students to have a comfortable introduction to writing programming languages, they have become a method of programming that is independent from coursework. Many Integrated Development Environments such as Unity (the IDE we used to build the Virtual Robot Simulator) and the Unreal Engine (the IDE used to build popular games like Fortnight) have visual programming languages that are similar to blocks programming. These languages tend to use a “node-based” language instead of a “blocks-based” language, but the idea is the same.

Whether you are hoping to learn a programming language, learn programming concepts, or build your skills at visual programming, block coding with the Virtual Robot Simulator is a great place to start!