After taking Martin Odersky’s Functional Programming in Scala class from Coursera last year I was looking forward to this follow-on class entitled Principles of Reactive Programming that just started this week (still plenty of time to sign up). I did Lisp and Scheme at grad school and had dabbled in Ruby and JavaScript over the years but the Functional Programming in Scala class was a refreshing mindbender for the power of functional programming. I don’t get to use Scala in my day job but it has very much influenced my Java programming and mindset.

In this class Martin builds on the Functional class to build reactive systems which he defines as:

  • event-driven
  • scalable
  • resilient
  • responsive

This requires loose coupling, asynchronous (non-blocking) handling, minimized shared state, supervisor hierarchies and real-time interaction. Reminds me of node.js so far…

Just finished the setup and recap of week 1. More to come.

Coursera is a great way to expand your horizons. I check their site, Udacity and EdX for interesting courses (see also the excellent Waikato’s Weka MOOC archive and Syracuse iSchool Applied Data Science: An Introduction - at coursesites: MOOC catalog, Applied Data Science: An Introduction - haven’t taken that class yet). So much great content out there! Patience and pacing required.