Recently, I signed up for the An Introduction to Programming the Internet of Things (IOT) Specialization on Coursera. Last month, I completed the The Arduino Platform and C Programming. Currently I am working on Interfacing with the Arduino.
The Arduino Platform course was a little bit too generic as it mainly focused on Standard C. The introduction to the Arduino coding environment and hardware was useful though. The big draw back is that there are no forums to post questions and get answers. Most of the projects involved coding in C that could be done in any compiler. The final projected involved blinking the built in light on an Arduino board. If you have some C experience and minimal to no Arduino experience, I give it 3 out of 5 thumbs up.
As I mentioned, the second course is the Interfacing course. The final project involved adjusting the brightness of an LED using a potentiometer using the standard Arduino Servo library to adjust the LED itself. This was pretty interesting project but technically it was kind of silly. The PWM signals normally used to control a servo does not allow one to fully light or dim an LED. Think Rube Goldberg.