Blog

December 20, 2012

Recounting the Functional Programming Principles with Scala MOOC

December 20, 2012

This fall we did a free online class on Functional Programming Principles in Scala on the Coursera platform. It was a great experience to have done a class like that and in more dimensions than one it exceeded our expectations greatly.

One of the interesting aspects of running a MOOC (massive open online course) is that you get a lot of data out of it. We got statistics on many aspects from the Coursera site. Overall, we had more than 50,000 people registered for the course, who viewed lecture videos 1.7 million times, and handed in 230,000 submissions of homework assignments (people could submit multiple times, and assignments were automatically graded). There were 11,400 posts on the discussion forums, where students could ask questions and discuss aspects of the course. 9,600 students successfully completed the course and earned a certificate of completion. That's a much higher success rate than average for an online course.

We also ran a survey among the people enrolled in the course. More than 7,000 participants filled out the questionnaire. Here's a detailed writeup of the course and the survey results.

For those of you who want to have a little bit of fun with the numbers, we've made all of the data publicly available, and we've made a small Scala project out of it. In particular, we put the code that we used to produce the above plots on github (progfun-stats).

Overall, it was an intense 7 weeks for us as well as the course students. Organizing a MOOC is no small matter. We could not have done it without the help of many people at EPFL, at Typesafe, and the many active and knowledgeable contributors to the forums all over the world.

Hard as the work of preparing and running the course was, the amount of positive feedback we got made it worth for us many times over. We believe this medium has a lot of potential and, so far, we are only scratching the surface.

Martin Odersky and Heather Miller

comments powered by Disqus
Browse Recent Blog Posts