I was going to post the following as a comment about the Micro Bot, but changed my mind and decided to post here. Though I am NOT an “educator” per se, I am trying to use the micro:bit to help introduce my granddaughters to technology in general and computers/programming in particular. I want them to understand that things like computers, smartphones, TV’s, (etc. etc. etc.), are not just “magic in a box”. Rather they are the efforts of skilled individuals - and that my granddaughters can do that too if they want.
Since this forum, (Educational Products), is the only one to really specifically mention the micro:bit, I decided to post here. If this is wrongly placed, please feel free to move it.
On with the show!
==============================================
I have two granddaughters that I gave the micro:bot last Christmas - they rapidly became so frustrated that they stopped playing with it.
Why?
As odd as it sounds, it was actually too complicated. The moto:bit extension contains three and ONLY three programming primitives.
-
Turn motor [left/right] to state [on/off]
-
Run motor [left/right] in direction [forward/backward] for [period of time]
-
Motor direction sense for the [left/right] motor [is/is not] inverted.
That’s it.
Any young kid, especially one who is unaccustomed to programming, will find it way too complex - (i.e. Which “P” number does what? Where are the blocks for the line follower? Servos?) The seeming lack of documentation frustrates even relatively seasoned technophiles like myself. Instead of the micro:bot encouraging kids to play, it collects dust.
This Christmas, I bought them two GiggleBot’s, (also micro:bit powered), one each. As a micro:bit powered device, it can also be programmed in Microsoft MakeCode, and has its own extension with a rich and varied number of blocks to work with.
Whereas the moto:bit extensions are terse to the point of pain, the GiggleBot’s extensions fully describe the various features of the device. Go load them and take a peek.
You can “drive forward” or “backward”, “turn right” or “left”, “spin to the right or left”, or even actuate LED’s or servos and read/write to various kinds of sensors, (like a TOF distance sensor). And it all works “right out of the box”, without any more fuss than downloading the GiggleBot’s one extension. Not only can you program it to be a line-follower, you can even - relatively easily - program it to follow the light from a flashlight.
My youngest granddaughter, (who is 8), had the GiggleBot briefly explained, shown ONE, (very short), demo program I wrote, and she was all over it like bugs on a bumper! She can’t wait to play with it again.
This is what the micro:bot/moto:bit extension should, (and can be), doing.
It shouldn’t be too complicated to create the requisite blocks for the moto:bit extension to handle things like reading line sensors, controlling servos, etc.
Question:
-
Is there some way I can contribute to this?
-
Is there any documentation on how to create the block-primitives for an “extension” in MakeCode?
-
Is there a GitHub repository I can pull the current “moto:bit” extension code from to work with - and then offer “patches” or pull requests?
Thanks!