hn.academy

Online courses recommended by Hacker News users. [about]

Introduction to Functional Programming

edX · Delft University of Technology (TU Delft) · 5 HN citations

The aim of this course is to teach the foundations of functional programming and how to apply them in the real world.

View on edX
The vast majority of the courses listed here on HN.Academy are available from their providers for free. Many courses offer a completion certification for a fee. A few courses and specializations require an enrollment fee. HN.Academy receives a referral commission when you visit course pages through links on this site and then purchase courses and completion certificates. If you decide to purchase a certificate or course the commission does not increase the cost of the course and helps support the continued existence of HN.Academy which is much appreciated.

Hacker News Comments about Introduction to Functional Programming

All the comments and stories posted to Hacker News that reference this course.
Apr 12, 2015 bad_user on Programmers: Before you turn 40, get a plan B (2009)
Having worked with Ruby on Rails in the past and with Play2 and Scala currently, I think I can answer that.

For your regular web app, both frameworks are mostly the same, both are boring - Rails is more productive for very common tasks, but Play2 is safer because of the underlying language (well, if you pick Scala, otherwise Java just stays in your way). Things get more interesting in Play2 when scalability or latency starts to matter.

That's when you discover that Play2's architecture is entirely asynchronous and that Play2 supports asynchronous responses and web sockets natively. It does so by means of futures [1], actors [2] and iteratees [3] (also being migrated to reactive streams [4]).

Of course, the easy route with Play2 would be with Java, however I recommend that you pick up Scala. By doing so you're going to get exposed to concepts from functional programming in a language sitting on a platform that's very much practical for real world use. There's also this book on functional programming in Scala that's amongst the best books written on the subject [5]. Functional programming changes the way you think and it's all about sanity, functional code being easier to test, being easier to parallelize and being much less prone to accidental bugs.

But while you're at it also consider learning Haskell, probably the best functional programming language available, because even if you're not using it, it's currently the lingua franca for FP concepts, so when reading papers and blog articles on interesting design patterns related to FP, most of them are described in Haskell. It also spoils you with its incredible type system, so a language like Scala will become the minimum that you'll tolerate, working in Java, C#, Python or Go becoming unbearable ;-) A really good beginners course is this one from edX [6]. And then go learn Clojure, because it's a really practical LISP that is also oriented towards FP, except that FP in a LISP is really different from FP in static languages like Haskell or Scala.

And you know, the best thing about this path is that you're not going to learn just a framework, or yet another language, but you're going to learn about functional programming, which is a concept that transcends programming languages with its related mentality and design patterns and is useful no matter what you're doing and in what language.

But then going back to Scala and Play2, well that's useful right now too. And did you know that Scala compiles to Javascript too and it's awesome?

[1] http://docs.scala-lang.org/overviews/core/futures.html

[2] http://akka.io/

[3] https://www.playframework.com/documentation/2.3.x/Iteratees

[4] http://www.reactive-streams.org/

[5] http://www.manning.com/bjarnason/

[6] https://www.edx.org/course/introduction-functional-programmi...

[7] http://www.scala-js.org/

Mar 05, 2015 ghuntley on Understanding Monoids using F#
1) Functional Programming: What? Why? When? by Robert C. Martin @ https://vimeo.com/97514630

2) Erik Meijer Introduction to FP @ https://www.edx.org/course/introduction-functional-programmi...

3) Do you want to learn F# and Functional Programming? Well, you better start coding! @ https://github.com/jorgef/fsharpworkshop

Feb 19, 2015 Confusion on Learn You a Haskell for Great Good (2008)
I want to note that LYAH may not work for you if you have my kind of learning style. I need to solve concrete, realistic problems to creatively use the knowledge imparted on me. I can't just read stuff and understand. Real World Haskell [1], the course by Erik Meijer [2] and the courses referenced here [3] worked much better for me.

[1] http://book.realworldhaskell.org/

[2] https://www.edx.org/course/introduction-functional-programmi...

[3] https://github.com/bitemyapp/learnhaskell

Feb 19, 2015 mod3rn0 on Learn You a Haskell for Great Good (2008)
For newcomers I'd suggest this introductory course by Erik Meijer: https://www.edx.org/course/introduction-functional-programmi... . It's about FP, not strictly Haskell, but it really helped me starting with it and really stimulated my curiosity (and he really can explain hard concepts in a simple way imo). I started reading the book after I completed the course and helped giving an answer to a lot of questions I had during the course.
Dec 26, 2014 desdiv on MOOCs are closed platforms and probably doomed
What's the percentage of edX courses that are actually CC licensed?

As a quick and unscientific experiment, I checked out the 12 courses listed on the edX.org homepage and none of them were CC licensed.

With Google I found a few CC licensed edX courses [0:2], but looks like they're the rare minority.

[0] https://www.edx.org/course/introduction-aeronautical-enginee...

[1] https://www.edx.org/course/business-its-environment-overview...

[2] https://www.edx.org/course/introduction-functional-programmi...

Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
HN.Academy is an independent project and is not managed or owned by Y Combinator, Coursera, edX, or any of the universities and other institutions providing courses.
~ [email protected]
;laksdfhjdhksalkfj more things
hn.academy ~ Privacy Policy ~