Learning to code is never easy, no matter what anyone tells you. When iRobot claimed to make learning to code easy and natural in any environment, I had to see and try for myself. Granted, this is marketed toward children, so when I ran it through its paces, I kept my “kiddo” glasses on while pinpointing what software concepts are actually taught.
The biggest, biggest draw to this package is the Root rt0 itself. The level of engagement increases dramatically when a child can see how a piece of code affects rt0’s behavior. Nevermind the various sensors and buttons on the rt0; those stimuli are just vehicles for engagement, and it’s brilliant. This translates to today’s software engineering professional's dilemma: how software will interplay with hardware.
The coding aspect is always intimidating for anyone, but iRobot has found a simple, unique way to teach procedural programming and structured programming paradigms with its coding environment. Coding is broken down into 3 levels. Level 1 illustrates procedural programming. Here is where your child will learn to string up commands in the form of picture blocks. It is also here where your child will find out that having rt0 draw a spirograph is dang near impossible. That’s where structured programming comes in, where your child will learn to code using decision logic and loops. This is found in Levels 2 and 3. Level 2 coding still consists of picture blocks, but illustrates the relationships between logical statements and loops. Level 3 is a complete translation from Level 2 blocks to actual source code. More on Level 3 in a bit. With structural programming, a few blocks of code can easily generate that same spirograph. Once this concept is grasped, then you (and your child for that matter) have gotten your money’s worth. It opens up the doors for the more advanced functional and object-oriented programming as they get older and outgrow the first two. Unfortunately, these paradigms are not supported in the iRobot Coding app, as far as I know. But that’s okay!
Another huge concept your child will learn is simulation, test and evaluation. In the iRobot Coding app, you are given a side panel with a top-down view of a virtual rt0 where you can simulate your source code behavior before you even send/download it to the actual rt0 for testing and evaluation. Why is this important? Because the included dry erase marker can only hold so much ink. What do I mean by that?? You can run your simulation a million times over until you get the behavior where you want it, then you can finally send the code via bluetooth to the rt0 for the “flight test”. No wasted ink before the flight test. Corporations that rely heavily on software perform simulations because it is WAY cheaper than testing it directly on hardware immediately. Can you imagine how many rockets Elon Musk would have blown up if he didn’t have simulations? This is another aspect that your child will learn and appreciate.
I wanted to touch back on Level 3 coding; although true source code is generated for you, it is not fully editable, but for a good reason. Syntax. Every software language has its own syntax, much like the English language has its own. If you mess up that syntax, then the rt0 won’t have a clue what you’re trying to say; it won’t try to make sense of it and doesn’t care, really. You if can this read, then you brilliant be must. Yeah, like that. So iRobot prevents that by still allowing you to drag and drop snippets of code and allowing you to only edit numbers and/or boolean values in that code. At first, I was a little disappointed by this, but then I realized how important it is to keep a child engaged in more of the concepts and less on the syntax errors.
I was able to show my 8 year old daughter the rt0 write the first letter of her name on the included foldable whiteboard. I told her it can spell the rest of her name, but she has to “teach” rt0 how to do it. I also had rt0 generate a spirograph all while changing its led colors and tooting a note. And that’s just the simple stuff. I went further to try to make it behave like an actual Roomba with the limited amount of sensors. Kids nowadays have the most creative minds and probably can do amazing things with this unit.
The iRobot Coding app can be found on the Apple App Store or on Google play. It is also accessible to anyone with an internet connection and a browser (code.irobot.com) if you do not have access to a tablet or phone. I preferred using the computer and mouse due to a larger screen to work with, but a tablet is a good compromise between screen size and touchscreen capability. I do not recommend using a phone for coding only because the screen is just way too small. If you’re on the fence about this product, you can certainly give it a dry run by downloading the app or hopping on the website to try and get a feel for what it’s about. It does offer a subscription plan that provides more learning material, but I think the first few free ones online can get you started well enough to be on your way.
With all the software aspects and concepts learned from the iRobot Root rt0, I highly recommend this product.