The Functional Programming class I took last year was pretty much as good as the expensive CS courses I took at Big Name U. Oh, and it happened to be taught by the guy that invented Scala. I'll admit it, I'm turning into a Coursera fanboy.
As it is now, I feel I'm simply a compiler which translates my imperative Python background into Scala syntax.
At times (for me), the time-based nature of coursera is a very good thing. If I know that I need to complete a homework by 1am Sunday night, which means I need to finish watching this week's videos by Thursday night, that means there's a chance I'll actually do so. Without that deadline (and with no money or grade on the line) HN or Reddit or other timewasters are far too tempting.
https://www.coursera.org/course/progfun
You see archives of the two previous iterations of the course. Their material is always available, and you can stream or download the videos from there.