This is the first programming MOOC I have ever taken. Prior to taking it, I had attempted to read programming books with the intention of learning how code. It didn't take long before I realized that I hated reading books about programming. Not because the books I read were uninformative (though there are plenty that I could nominate as morbidly boring) but rather they lack the type of interaction to be found in a MOOC; which as a beginner is crucial because when you get stuck you need help from your peers.
The main lesson to take away from this course certainly has to be systems thinking which is emphasized throughout by the professor. As I build up my programming experience with each day that passes, I am slowly beginning to appreciate the massive advantages it offers. Whenever I wrote a program that didn't do what was required, more often than not it was because of adopting "verbal reasoning" as I punched in the code. As soon as I started asking myself the "why" and "what" certain pieces of code in the program were doing, I quickly found where I'd veered off course.
As a beginner, I did this course slower than most (just over a month) but I believe the extra time I spent on it will certainly pay dividends in the future. To sum up, I rate this MOOC very highly and look forward to completing SPD2 and SPD3.