Who said that programming is a complicated science? Let’s clarify some facts. Programming is indeed a complicated science, with the existence of various programming languages adding a level of complexity to coding. Different programming languages were, are, and will be built to suit different purposes. The easiest programming languages are not the most widely used, as the appropriate language depends on the application.
A lot of practice is necessary to become an expert at programming. People may get sick of the challenge if the application is not interesting enough, or if the output is not user friendly and interactive. These are facts.
These facts don’t tell the entire story so let’s present some of our own. If there is no syntax to worry about, is code still difficult to write? If the application is a great adventure that walks you through its chapters until you can’t wait to reach the conclusion to see what happened, is it still not user friendly? If the object that is controlled via programming is a robot that moves through a field and interacts with the environment, is it still not interactive?
RoboGarden combines features into its programs to address all of the problems people complain about with programming. They use Blockly, a visual programming language that moves blocks of code and interlocks them to perform necessary functions. The blocks of code can serve the same purpose as the textual languages, even when it comes to complex functions.
Writing a simple "Hello, world" program in Blockly is easier than writing it in a programming language such as Java or C++. Other languages may force you to choose from several output streams, from different character sets, offer the opportunity to change the syntax, present dynamic types, and other challenges. Visual programming languages are designed for beginners, eliminating the possibility of syntax errors and making it impossible to create syntactically invalid programs.
There is no nice, visual way of expressing some complex concepts like type systems that are found in general-purpose programming languages. RoboGarden presents themed journeys that vary from a birthday party and gathering of friends, to a space journey, to a volcanic island, to an adventure to a golden mountain. Each journey uses Blockly to teach programming lessons while students have fun. Storylines are well-built and trigger the student’s curiosity to finish so they will want to see each story through to the end. Time will be spent learning easy tasks that build into more complex ones. Solutions ask students to control Robo, the hero robot.
The advantage of visual programming is a high-level overview of the system’s structure to help you visualize a solution to the problem. RoboGarden didn’t settle for just this, though. Instead, RoboGarden created a transition from Blockly to textual the languages Python and JavaScript. This is achieved by revealing the exact equivalent of Blockly blocks as corresponding lines of code. Students then progress to solving challenge directly in lines of code.
Visual programming is a very good introduction to programming. It can guide students through solving tasks of medium difficulty. When the student is ready to transition to textual languages, they will have the practice they need to be able to perform more difficult programming tasks.