My open source smartphone is still causing me grief, I don't know what kind of voodoo controls my internet router, and I'm constantly finding myself stuck in boring, repetitive tasks on my computer, thinking 'there must be a way to automate this.' The smugly insubordinate part of my mind tends to reply with a snide 'Yes, there most certainly is. And it's WONDERFUL. Such a time-saver. Pity you don't know how…'
I've started to get the feeling that many things might be easier if I were a bit more tech-savvy.
We interact constantly with electronic devices and complex software and it's very easy to feel daunted, to want to ignore what's going on 'under the hood' and leave that to the experts. This does have the effect of penning people in as consumers of technology, rather than empowering them to use or adapt technology to their needs.
But what if, like me, you're just not the techy type? I'm not at school any more, surely it's too late to learn all that? This week, I decided that no, it's never too late. I'm not usually one to give aspirational quotes from venture capitalists, but Fred Wilson does have one good line which I particularly like:
A young man asked me for advice for "those who aren't technical". I said he should try to get technical.
Now I'm trying to use open source hardware and open educational resources to help me get digitally literate. First, something hands-on – the classic open hardware device, the Arduino microcontroller. As well as serving as the brain of 3D printers, radio controlled lawnmowers and sex toys, Arduino is a very practical way to learn both electronics and programming. The board is open hardware, so you can make one yourself if you like, and there are plenty of tutorials and crazy projects all over the net for learning and inspiration.
For people like me who don't know their cathode from their anode and can't even program a thermostat, the official Arduino starter kit is a great introduction. It comprises a 15-project handbook, the Arduino itself, and various electronic components. There are also sensors which convert heat, light, and sound into electrical energy, and actuators like motors and LEDs which covert electrical energy into whizzy spinny flashbang energy (I believe that's the technical term).
You're guided through building each electronic circuit before you're shown how to control its behaviour using the Arduino programming environment. So far I've put together a simple colour-mixing lamp, a light-controlled theremin and a 4-note keyboard, and there's still many more projects to go… there's great motivation to program, because your code has to be right if you want it to do anything! The working project is then a well-earned treat. Good dog.
But what works for me and works for your spaniel might not necessarily work for you. There is no one 'best way' to teach – some people are visual learners, some are verbal learners, some prefer a mix of different methods. There's huge potential in free online education – using text, video and other tools to offer a quality education to anybody with an internet connection.
The idea has taken off in many ways, but amongst the swarm of lecture videos and merit badges, it's difficult to know where to start, how to stay motivated and where to ask for help. That's where the word of the moment, the MOOC, comes in. A Massive, Open Online Course – thousands of people taking a free online course simultaneously – going through the same material, and getting together in study groups and online forums, helping each other out with homework and problems. Usually these MOOCs are organised by one or two core lecturers who provide structure, feedback and guidance, but I'm throwing myself into a more experimental course: 'A Gentle Introduction to Programming' with the Python language, taught by the 'Mechanical MOOC'.
This is a learning lab of Peer to Peer University (P2PU), and the material for this course is gathered from other online providers – primarily MIT, Codecademy, and a textbook called 'How to Think Like a Computer Scientist'.
As opposed to other MOOCs, the Mechanical MOOC is designed to run automatically – it's now in its second intake of students. I've been receiving emails from 'The Machine' who seems a most amicable robot, having introduced me to my study group and recommended that I watch a Monty Python movie as preparation for the course. So far it's hard to know what to expect – I've completed the first week's reading, coding and writing activities, and watched the first online lectures. It has been 8 years since I last sat in a university lecture, but it's remarkable how quickly the same feeling returns… my eyelids start drooping, my attention begins to wander, I start focusing on unusual details on the ceiling. At least this time around it's socially acceptable for me to attend lectures in my pyjamas. I am still learning – but probably advancing more thanks to the textbook and Codecademy content. The course runs for 8 weeks so I'll keep you posted on my progress!
One issue raised recently by Timothy Vollmer of Creative Commons is that the first O in MOOC originally signified 'open access' (free and unlimited entry) and 'open material' – but now organisers seem to be forgetting the open material. That's partly the case with this MOOC too. The resources are available without cost but are not truly free-as-in-speech – their licenses include 'Non-Commercial' or other restrictions which prevent someone from reusing, remixing or translating a work and using it in a lesson if they are being paid, which rules out a huge amount of use cases.
So it's great to see the approach of OpenTechSchool, an recent initiative started here in Kreuzberg, whose approach includes both free access and open materials. Every week in a local co-working space, they offer workshops, meetups and classes, focused on bringing new people (particularly more women) into programming, and supporting them in their learning.
Their whole curriculum is on github, and under a Creative Commons-Attribution-ShareAlike license, meaning that anyone can submit improvements or download, remix and reuse material (as long as they share their changes too). This means simple improvements and fixes can be added on the fly, and difficult areas that might need a re-write can be flagged to be dealt with before the next class is given.
I'm going to continue with my Arduino adventures, jump into some workshops at OpenTechSchool, and in 8 weeks' time I'll report back on my experiences with the Mechanical MOOC. In the meantime, I'm interested in finding out more about what's out there. I've found plenty of free-as-in-beer educational resources online, but I'd like to hunt out more free-as-in-speech options. Any other suggestions for the best way to 'get technical'?