For a long time, Coursera and other online learning sites didn’t offer much in the way of electronics courses, and there was nothing much related to embedded. That has changed, and now quite a few courses are not only available, but are self-paced, making them more attainable for busy people.
Its not as if the Arduino is new, and its also not as if there is a lack of material to learn how to use it – whether you buy a book, rely simply on the examples provided with the IDE, watch Youtube, get someone to teach you, build things from Instructables, all are good ways to learn Arduino.
The particular course I am wrapping up is “The Arduino Platform and C Programming”, and it can be found here. The professor (Ian Harris) who made the videos and material is funny, he explains clearly, and is easy to listen to.
The beauty with with these courses is that they have more structure, and they do include some details that someone teaching themselves might miss. For example, even amongst Hello Worlds of blinking LEDs that anyone who has had an Arduino for more than six months will find a bit stale, the code compile process is explained nicely, he answers the question of what code Arduino really uses, gives a quick primer in object orientation, and explains the danger of global variables.
(To which my father screamed in defiance: “Dip me in a tank of red ants! You will never take away our global variables! We will never stop it with the global variables! You’ll take them from my dead, ice-cold laptop!”)
Debug and serial are explained in depth in the fourth part, and to be honest, even after two years of messing around with Arduino, much of this was new to me, and I was very happy to have waded though blinking LEDs and other fiddly stuff up till that point.
Arduino Platform and C is one of several in a playlist of courses (a specialization), ending with a project and a more robust, accredited certificate. Other interesting ones I would like to do in the future are:
- Introduction to the Internet of Things and Embedded Systems
- Interfacing with the Arduino (quite nice – it introduces basic electronics in a very simple and clear way)
- The Raspberry Pi Platform and Python Programming for the Raspberry Pi
- Interfacing with the Raspberry Pi
- Programming for the Internet of Things Capstone (the final project)
Specializations at Coursera are mostly paid, a nice little money-roller that sits and people slowly do. Whether this kind of certificate could get you a job in the first place is, in my opinion, debatable. Taking online education may be of more common in the future, but difference in work opportunities between those with an expensive education and driven self-taught is still a large divide, and the world has wanted it that way for a long time.
If, though, you want to hone skills and learn new things, some of these courses are a good intro. Best of all: mostly free.
I would recommend them to anyone not sure about how to get started in Arduino and overwhelmed by the mass of information available.