Hacker Courses The online courses programmers keep recommending, ranked from 20 years of public forum comments.
i
Principles of Reactive Programming
Image: coursera.org
#91 overall

Principles of Reactive Programming

Coursera

4 recommenders · 5 threads · recommended in 4 years, 2013–2020 · score 4.8

Go to course ↗

A Coursera course by Martin Odersky, Erik Meijer and Roland Kuhn on reactive programming, covering functional-style async and event-driven design, with a Scala track that includes Akka. Commenters note it is a free course and that its later Scala exercises had a difficult automatic grader.

Commenters call it a great introduction to reactive programming and say the lectures and course notes were an eye opener.

Programming Languagesintermediatefreevideo lectures#reactive programming#scala#akka#functional programming#odersky#meijer

Recommendations by year

20062026

What commenters said (7)

  1. Strongly recommendsAzzieElbab2020in “Confessions of a Used Programming Language Salesman (2007)”

    Well, the author is Erik Meijer https://en.m.wikipedia.org/wiki/Erik_Meijer_%28computer_scie... He pretty much spent his entire career promoting FP concepts. He was behind RxJava and linq among others. I highly recommend watching his lessons on reactive programming if you can still locate the videos after coursera removed that course

  2. Strongly recommendsnextstepguy2015in “Monads in JavaScript”

    Taking that (free) class on coursera was an eye opener on all the things that are discussed in this article. Highly recommended:

    https://www.coursera.org/course/reactive

  3. Recommendseranation2014in “Introduction to Reactive Programming”

    I found this to be a great introductory course to the topic (Eric Meijer is one of the instructors):

    https://www.coursera.org/course/reactive

  4. Recommendseranation2014in “Asynchronous JavaScript at Netflix”

    Very interesting. By the way if someone is interested in more details about Reactive programming, there is a great coursera course about it (https://www.coursera.org/course/reactive)

  5. Recommendsepsylon2013in “Functional programming books review”

    I second that, it's been the best course I've taken up on coursera so far (with Dan Boneh's crypto). The lectures are great, but the best for me was the high quality provided course notes. I read those in my morning and evening commutes and I didn't even have to watch the videos!

    The exercises were well crafted, guiding you part by part to build your program, and challenging enough that you learned something valuable. It definitely made me interested in exploring more the three languages presented - ML, Racket and Ruby.

    I'm currently taking the second Scala course and I have to say it's a bit of a disappointment so far. Martin Odersky's part was good, but I didn't really like Erik Meijer's teaching style (I understood Futures and Promises better after reading a few articles about these). I haven't caught up with Roland Kuhn's part yet.

    However I've been incredibly frustrated with the exercises. They are tedious, but for the wrong reasons: you have to make a lot of guesses on what are exactly the semantics of what you're supposed to implement, sifting through the forum and the FAQ for relevant information. After you've submitted, you now have to wait for a long time (between 20 and 100 minutes) for the automatic grader to tell you whether your guess about what exactly you had to implement was right or wrong.

    It's still an interesting course, and it's worth just for the sake of getting your hands into some Scala code, but there's that caveat.

  6. Mentionsmodersky2013in “Best way to learn Scala/Akka?”

    Your timing could not have been better. There's a reactive programming course going on Coursera right now. Tomorrow we will start the part that introduces Akka. You can still enroll in the class.

    https://www.coursera.org/course/reactive

  7. Mentionsmemracom2013in “Ask HN: How many "self-taught" programmers and how did you do it?”

    These days a lot of folks take the HTML route into programming. They start by fiddling with web pages, then add CSS, some Javascript and then building backend stuff. But this is a risky route to take. You might end up being just good enough to make a few bucks at it, pick up some PHP or Ruby on Rails, and drive yourself straight into a dead end.

    None of this is really programming. Sure there is a bit of going through the motions, but you have all these frameworks supporting you, whether HTML or Rails or whatever, and you fail to get to the heart of the matter.

    Far better to get a book like SICP (now freely downloadable) install one of the free Scheme packages out there and struggle through writing all of the code for all of the exercises in that book. It will be tought. You will suffer. And at the end you won't have much to show for it; i.e. no pretty websites. But you will have trained your mind to think the way programmers need to think. And you will also have learned to persist in the face of disappointment and failure because that is what programming is really all about.

    Of course, there are more marketable languages like C# and Java and it is definitely worth while to work through exercises from a good book in a similar manner, but you won't get as good an education as someone who pushes through SICP. Those of us who learned programming in an imperative language like Java, are now either in a stagnant rut adding features to big balls of mud that hang like chains around the neck of our employer or else we are slowly pushing our way along the path blazed by SICP.

    If you already know a bit of programming in any language, you could also take Functional Programming in Scala followed by Reactive Programming at Coursera. They run these courses a couple of times a year and they are good. SICP is recommended reading for this course even though the language is completely different. True programming is all about mathematics and using it to solve problems in a simple way. You need to understand functions, sets, boolean logic, lambda calculus, algebra, category theory in order to truly excel. Mathematics is something that you build inside your head and something that you can apply to any programming language or platform.

    By the way, most CS degrees do not teach this. If you find a school that DOES teach this, then by all means, get the degree if you can afford it. But too many schools leave the real stuff for the Masters and Doctorate level folks. If you self-learn, like I did, then you can do better. But you better be prepared to work real hard because most of the time there is no course to keep you on track. Learn every day without fail and you will get there.

Related courses

Keyboard

In the course grid
←↑→↓
Move between courses
Home End
Start / end of row (with Ctrl: first / last)
PgUp PgDn
Jump several rows
Enter
Open course
S
Save / unsave course
1–5
Best, Trending, Hidden gems, Evergreen, Saved
[ ]
Previous / next topic
On a course page
← →
Previous / next course in your list
S
Save / unsave
O
Open the course website
Esc
Back to the grid
Everywhere
/
Search
T
Light / dark theme
?
This help