Learning the basics of Arduino on Coursera

For a long time, Coursera and other online learning sites didn’t offer much in the way of electronics courses, and there was particularly little related to embedded electronics. 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 course and its videos, is funny, explains crystal clearly, and has a nice voice that’s easy to listen to.

Ian Harris explaining debugging
Ian Harris explaining debugging

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.

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)

Although the specializations at Coursera are all for a fee, the course can be “audited” for free, and you still can say you finished it.

I would recommend these courses to anyone not sure about how to get started in Arduino and overwhelmed by the mass of information available. Harris’ course is a great teacher, and I think a determined teenager who puts in the time can finish and benefit greatly. In 2020 I plan to encourage more of my Computer Science students to set goals of running through the audited version.

Of course, nothing beats attending an offline Arduino course, especially with an awesome teacher…..nudge nudge, wink wink….


Just saying.