It's been recommended that I take a look at a Coursera course on Functional Reactive Programming. I wish I had time to add something more into the mix, because the reactive programming seems to mesh well with Functional programming.
To handle this class, I'd need an extra thirty hours a week in my schedule. I'd need to fulfill the prerequisite by learning Scala, as a functional programming language, rather than the Clojure I've been working on. So, it's not likely to happen.
But the idea of reactive programming is fairly simple to get an intuition of. It's the model used by spreadsheets. When a cell changes, all the calculations are updated.
This fits in well with the Functional Programming paradigm, where functions are composed to effect solutions rather than step-by-step imperative algorithm development. It's definitely worth a closer look.
To learn more about reactive programming, read the Reactive Manifesto.