In Scratch and Logo, the basic building blocks are “move forward 10”, “turn right 30 degrees”, etc.; this is a fairly standard programming model going back to the Turtle I programmed in 5th grade back in the 80s.
In the mBlocks Robots lexicon, the fundamental command is “run forward at X speed”. The problem here is that the first block you have your child drag onto the board is guaranteed to run your robot right into a wall, or worst case, off some stairs!
Worse, there is no “stop” command. You have to explain that “run forward with 0” is an appropriate way to stop. Also confusing is that it has a “run backwards” command, but you can also choose from negative numbers in “run forwards”. The program doesn’t even bother to turn off the motors when it terminates, which is a constant source of accidental movement.
In my opinion, despite the robot itself being good quality, the mBlocks Robots extension is a poor way to introduce children to basic programming concepts. It requires awkward double-negatives, promotes unexpected and potentially dangerous (to the robot) behavior, and fails to build on concepts they may have learned in Scratch.
Has anyone developed an alternative set of commands for the mBot that mimic the standard and reasonable Logo programming methodology?
Thanks,
A frustrated dad