The last time I used a functional programming language in anger was in college, so I was pretty rusty approaching this topic. I’m also pretty sure the last time I wrote more than a dozen lines of Java was in college, so that probably gives you some sense of my JVM knowledge.
I’ve been curious about Scala for a while, and it’s still somewhat trendy, so I figured this might be an interesting first experiment with Coursera. I went ahead and paid for the Signature Track for a stupid (if somewhat) obvious reason. If I paid money for it, I wasn’t going to half-ass it.
The feeling of the Coursera course was very different from the Stanford course. There were regular video lectures, but they did not seem at all personalized. I don’t know if they were re-recorded for this course or leftovers from an earlier running. The whole course, for that matter, felt like it was on autopilot. The home page was never updated after the first assignment was posted and the forum seemed dead and lifeless (I stopped using it after the first week). I never really got the sense of engagement I did from the Stanford course.
There are some quizzes with the videos, but they’re multiple choice, infrequent, and irrelevant to the course’s final score. Stanford’s course, by comparison, had regular homework that was often difficult.
There are no exams for the Coursera course, just programming assignments. They have a limited number of submissions, but carefully thinking through and testing the programs before submitting allowed most of mine to 100% on the first actual submit.
The assignments are challenging and educational. The final code doesn’t looke like much (go figure), and my results felt like a sloppy mix of techniques. I probably spent at least 100 hours over the duration of the course on the programming assignments alone.
Weeks after completing the course, grading is still in progress. I’m not sure what the delay is.
At the conclusion of the course, I feel barely more than a nove Scala programmer. To some degree, I believe this is by design: The course teaches functional programming more than it teaches Scala, per se.
Without the exams and with most of the time spent in vim, I don’t know that I developed much theoretical or “academic” knowledge. Instead it seems like a tough practicum without the underlying theoretical material.
What I’m not sure of is whether this is unique to this course or a general characteristic of the Coursera courses. I don’t know that I would recommend this course in particular, whichever it is.