Germans React to UK’s micro:bit
hackaday.com
hackaday.com
https://www.microbit.co.uk/create-code#
You can also program the hardware directly.
The guys who ported MicroPython to the micro:bit have done a great job but, regrettably, by the time the MicroPython framework has been loaded on the micro:bit, the amount of room left for more complex programs is a bit tight.
Arduino is used in UK schools, but the one I hear a lot about is Crumble as it's designed to build motorised things very easily: http://redfernelectronics.co.uk/crumble/
(Disclaimer: I am a volunteer STEM Ambassador working with UK schools and educators in the fields of electronics and computing. I have no business relationship with Crumble)
Obviously, this is a very constrained device and just getting a full re-implementation of Python 3 (sans standard library) is testament to Damien George's engineering brilliance.
There's still lots of work to be done and efficiencies to be made. This is only but the start of the project.
There are some quite interesting / complicated examples in the source code:
https://github.com/bbcmicrobit/micropython/tree/master/examp...
Hope this helps!
1) Yes, agree that "blocks" editors are not terribly useful. I brought an Arduino redbot for my daughters (10 and 8) and after a couple of failed attempts at scratch-like programming, they actually found the C code immediately easier. This is so unintuitive! Ideas?
2) that the micro:bit is worse than the arduino; I don't think block programming or sourcecode has any bearing on the choice of board. The micro:bit seems a bit more powerful than an arduino, but not actually powerful enough to impress me.
I really think that a much more powerful Raspberry-PI-style board but with decent robot handling would be infinitely better to getting kids hooked.
It was a year ago now but my own disappointment with the redbot: http://williamedwardscoder.tumblr.com/post/136598180858/wher...
[1] http://www.valvers.com/open-software/raspberry-pi/step01-bar...
When I blogged about how hard it was for me to find Raspberry PI robots in my country there was a discussion about it on proggit https://www.reddit.com/r/programming/comments/3zf04e/where_a...
The crux seemed to be that nobody is doing real time kernels on the raspberry PI, and this is just a lack of software not an unsuitability of the hardware.
I guess this just underlines that people have a £5 Zero and aren't scratching a "kids could learn to program by controlling robots with this!" itch?
Are they strong readers? Code as a narrative of what happens might be easier to grok for them than blocks which can have a spatial component to how they proved.
They started pointing and clicking on computers before they learned to read anyway: http://williamedwardscoder.tumblr.com/post/19500788060/my-te...
That was several years ago, and the intervening years they unlearned everything by focusing on the ipad youtube :(
Beyond the spreadsheet - I don't think we have any successful "graphical" programming systems. And spreadsheets are more of a "4gl" than graphical. Maybe add Hypercard. And Smalltalk (with the object browser etc).
But the only real use of "graphical/iconographic" programming is for those that can't read and write. So, 6 years and down? That is, until someone makes a graphical system people will want to use at all ages and level of proficiency.
Ok, I guess I can think of a few others: 3d studio max could be seen as a form of graphical programming. As could premier/final cut and flash. And rich manipulation of rich media to "render" new rich media (interactive or not). But notice that with the partial exception of flash we don't call this "graphical programming".
> Linux supports the notion of a command line or a shell for the same reason that only children read books with only pictures in them. Language, be it English or something else, is the only tool flexible enough to accomplish a sufficiently broad range of tasks. -- Bill Garrett
Or maybe it's just that kids are smarter than we like to think and are especially good at noticing what's going on when we try and set up no-failure situations for them, they notice that we expect so little of them we even created this giant special drag-drop-the-blocks interface that we never actually use ourselves just for them and their simple minds. (I'm not a fan of spoon-fed educational substitutes...)
But after that, I think it's time for some Ruby or Python. I did Basic at that age.
I think block editors work fine in a very simple situation where you have a very limited set of primitives you can use, like in the blockly exercises. I think Scratch already has way too many options to get lost in. At some point, typing becomes easier than searching through several lists of blocks.
- Instant on with a high level language interpreter
- Simple architecture/ISA one can grow into
- Maybe a monitor/assembler available from the interpreter
- Powerful graphics, with simple things possible from the language, and full power available from machine code
This would be perfect for around 8-10 year old. I can't tell if I'm underestimating kids but it feels like starting with a Linux or comparable modern OS/machine just has too many layers of abstraction to get that "cozy" feeling of a micro.
> The Colour Maximite is a small and versatile single chip computer running a full featured BASIC interpreter with 128K of working memory and eight colours on a VGA monitor.
> It will work with a standard PC keyboard and because the Maximite has its own built in SD memory card and BASIC language you need nothing more to start writing and running BASIC programs.
> The Colour Maximite also has 40 input/output lines including an Arduino compatible connector. These I/Os can be independently configured as analog inputs, digital inputs or digital outputs. You can measure voltage, frequencies, detect switch closure, etc and respond by turning on lights, closing relays, etc - all under control of your BASIC program.
It's showing its age a bit, but still sounds useful.
If we're content with giving them some "best of 80s"-ideas, I think racket and/or Pharo Smalltalk is about as good as we can make it.
I'm guilty of stooping down to less powerful and futuristic systems myself - I find python to a very good mix of intuitive / simple and "real world" useful.
Other than that, I guess playing with forth in a boot loader is pretty good if what one really wants is "close to hardware":
It was texas instruments flavor of basic. Simple enough to get started, automating my math homework :) Just move right to get to the edit 'tab', and select the program you want to edit. Right once more to create a new one.
By the way, if any of you reading this happened to be the manager who decided to spend a few extra cents including explanations for if/then, for loops, variables, etc in the back of the manual, THANKS! You are probably the reason I have the career that i do today. Once I realized that an evening spent programming meant no math homework for a few weeks, I was hooked!
When we introduce Python they struggle to get matching " and ( and indentation.
Sometimes it's about the pace of the lesson, what do you have to teach 30 kids in one hour? If you spend that hour explaining why the shell is different to a file 30 times, your lesson is over.
It's very easy for us to harp on about how language 𝒙 is easier than Scratch et al, but we are able to debug programs that fail to compile or execute as expected. We are able to assist with writing the syntax from memory and we can set up the development environment (code editor, language framework and run time, etc). This is all stuff that block editors make easy.
It's also worth noting that most primary schools - which is the sort of level that Scratch is introduced - don't even have their own on-site IT assistant so if the teacher gets troubled by software then they often have to wait a few days for their contracted support to next visit the school.
If it's to do with the curriculum, that's what the STEM Ambassadors are for too - we're often only an email away.
We are all likely familiar with the non-informative "syntax error".
"non-informative "syntax error"" We as an industry really need to improve error messages. I got a new chip and pin card the other day, and forgot you had to go to an atm to activate it first. Error 2392729???? How about, "please activate at an atm"?
Maybe we need an "Informative Error Messages Day" every year, where we are all forbidden from working on anything except improving our products error message.
Now it seems Germany is also rolling their own...meh. At least the machines will get into the hands of kids eventually and the software is open source which I like a lot. But I mean why not just ship the micro:bit (or other existing alternatives)?
And I agree with the blog post...if you must roll your own you might as well go the complete open hardware route.
tl;dr: Too much not invented here going on with these projects.
Edit: There's a reasoning for not choosing the micro:bit provided on the calliope website: no speaker, rgb light or microphone + the arrangement is strange and students would short circuit it too often; for not chosing arduino/pi etc.: too complex/needs too much extra stuff and is thus impractical in school use
It was probably me you saw keynoting - perhaps at this year's EuroPython? I'm one of the volunteers behind the MicroPython related work for the micro:bit.
Sorry you thought I was nationalistic. That's completely the opposite to my intention. :-(
To set the record straight, my point about the Acorn BBC micro was only:
1) The BBC already have done something like this before and have "form", resources and reach in this respect. 2) The BBC micro gave the 8yo me the sense of wonder and excitement in computing that inspired me to become a programmer.
These points have absolutely nothing to do with the decision of the BBC to create the micro:bit project.
They wanted a device that wasn't as complicated as a Pi but that also contained enough hardware to be a compelling "device for thinking" as Seymour Papert would put it. A huge amount of research, development and testing that went into working out how the device should function. It certainly wasn't a case of NIH - we were painfully aware of the danger of wheel reinvention. That the BBC is a UK based organisation is completely beside the point. In fact, all the Python related work was done by an international group of volunteers - reflecting the Python community's diversity and something I want to celebrate. Furthermore, the team who did the Microsoft related work are Seattle based.
Personally, I think it wonderful there is a German team working on an alternative. I'm also hopeful they'll be a lot more open about the hardware - the BBC have been dragging their feet in this respect although I know they intend to eventually open source hardware schematics.
Let many flowers bloom!
The important thing is kids get exposure to platforms that help them realise that programming is something that'll help them do valuable stuff. This isn't just about creating a new generation of engineers; Rather, I'll know we've succeeded if in fifteen years I meet doctors, teachers, artists, musicians, lawyers, civil servants and other professionals who are computer literate enough to know how to effectively explore and make use of such technology.
David Allen, the producer involved with the original BBC micro from the 1980s, said it best: "The aim was to democratise computing. We didn't want people to be controlled by it, but to control it."
This isn't nostalgia for the Acorn "good old days" - it's a sentiment that's just as valid today as it was back in the 1980s.
I look forward to seeing how kids get on with all such devices. :-)
Thanks for the explanation :) We're pretty much in agreement overall, some project choices just seemed odd though. These projects tend to be bureaucratic beasts on top of the technical challenges. One of the interesting takeaways was that the micro:bit team learned a lot of non-technical lessons that are valuable (how to best deploy the devices, what kids will do with them, what's especially interesting etc.)
"""A huge amount of research, development and testing that went into working out how the device should function. """
I guess that's where I disagree. I feel all this afford could have been invested into creating better software for existing solutions and focusing more resources on pedagogical aspects. At the end of the day the micro:bit costs 13-15 pounds a pi-zero costs maybe 6? I don't feel the hardware side of things provided the most value for the invested tax money I guess. HUGE DISCLAIMER: if the hardware is open sourced fully eventually (I also heard/read it's planned eventually) then I'm actually cool with building yet another smallish computing device.
"""This isn't just about creating a new generation of engineers; Rather, I'll know we've succeeded if in fifteen years I meet doctors, teachers, artists, musicians, lawyers, civil servants and other professionals who are computer literate enough to know how to effectively explore and make use of such technology. """
Completely agree.
Hah... it wasn't me talking at Muc2016. I wonder who it was? I'd love to know who... :-)
FWIW, here's my EuroPython keynote, including singing micro:bits:
https://www.youtube.com/watch?v=JVaF6uZuSIU
Would love feedback!
In the US it's been wonderful to watch the development of Adafruit's Circuit Playground, another really great board for learning. It has a slightly different intent, and it's programmed using the traditional Arduino framework, but having the Neopixels, speaker, microphone, and so many positions to attach clips for expansion etc is just brilliant. It's also super portable with a battery pack once you've flashed a program onto it.
Having all these options for learning computing gives educators, parents, and kids the ability to select what's right for them: the challenge now might just be getting the information out there so that it's easy for them to pick!
Intended for a couple of youngsters with many hours of Minecraft under their belts, and curious about making games, etc. Did not go too crazy about fizzbuzz in Python on a terminal screen (youth these days ;-)
It's biggest limitation is the display. It's a pity that something with a bit more pixel density wasn't possible because displaying text on it is a pain and 5x5 is really limited for graphics.
As a software guy who plays more with hardware, I really just want a phone with a gpio output, small form factor and low power consumption enough that it could run off solar power.
Why can't we have that?
To me it is unreadable, a real PITA to process such capitalised titles. Especially with English language, for it has very short words, hence capitals can harm the reading rhythm every 4 or 5 characters; and the same word can be a noun, an adjective or a verb depending on the context (and there is close to no context in a title).
None of the English newspapers I checked does it.
In the USA, Wall Street Journal, NY Times, do it; but USA Today, LA Times, Chicago Sun-Times, Denver Post, Chicago Tribune don't. Washington Post apparently does or did both.
None of the Australian newspapers I checked does it (and at first sight, most of them seem to fall in the following category...).
Tabloids either use one foot high full capital titles, or don't capitalise.
Not any French, Spanish, German use this capitalisation style either. Of course Germans do capitalise nouns, as they do in regular text.
So, it seems to be an American-only thing, and not even widespread there (for newspaper titles).
"As regards publication titles it is, however, a common typographic practice among both British and U.S. publishers to capitalise significant words (and in the United States, this is often applied to headings, too)"
As to readability: I think you should see title case as a way to make text more noticable without going for the nuclear option "ALL UPPERCASE". If you look at it that way, you will be happy whenever you see title case.
I don't know of any standards that call for normal sentence capitalization for titles, so I assume they must be in-house standards or some standard that is not common in my domain.
I didn't vote on your comment, but it looks like it contains "react" and got downvoted, so stating that "anything" would get upvoted obviously wasn't true.
However, if you hadn't had written it, the claim could have still been true.
So, your writing about some fact... might have changed it.
Is there a name for that kind of occurence?
(though I thought OP's comment was actually quite funny.
Heisenberg uncertainty principle [1].
Another example is this "died in a blogging accident" xkcd comic: https://xkcd.com/369/.
https://books.google.com/ngrams/graph?content=alligator+clip...
(OK, maybe it's a regional thing.)
I am British and would say Crocodile Clip, not that I care much either way.