Online courses recommended by Hacker News users. [about]

Functional Programming Principles in Scala

Coursera · École Polytechnique Fédérale de Lausanne · 9 HN citations

Functional programming is becoming increasingly widespread in industry. This trend is driven by the adoption of Scala as the main programming language for ...

View on Coursera
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 Functional Programming Principles in Scala

All the comments and stories posted to Hacker News that reference this course.
Nov 30, 2018 gangstead on Ask HN: What is the best online course you've ever taken?
Functional Programming Principles in Scala on Coursera. It's taught by Martin Odersky, one of the language's creators. Very well organized, highly automated assignment testing (you submit via CLI). I went in wanting to learn Scala, but what I learned about FP has stayed with me for years. Even though I've moved on from Scala I'm a much better programmer for having taken that course.
Apr 03, 2018 loganekz on Ask HN: What are the best MOOCs you've taken?
Functional Programming Principles in Scala [1] taught by Martin Odersky, professor at EPFL and creator of the Scala language.

[1] -

Mar 27, 2017 vasshu on Ask HN: What are the best resources to properly learn Scala?
There is a course on Coursera thaught by the Scala creator:
Feb 24, 2017 solaris999 on Learn Python 3 the Hard Way
The canonical source for learning Scala from scratch (at least, when I was learning a couple of years ago) is the Coursera course by Martin Odersky, one of the language's founders. It appears that the course has grown somewhat, but you can still find part 1 here:
Nov 03, 2016 mafribe on Scala 2.12.0 is now available
I have suggested Odersky's introductory MOOC [1] to many of my students and they all thought it was great. It's heavily inspired by SICP, so it should be easy, given your background.


Oct 17, 2016 Noseshine on The state of the Scala website and documentation
That's interesting. Just a few days ago with great regret I decided to drop the (free) Scala course on Coursera after almost finishing week #3 (of 5 I think). I'm actually already pretty familiar at least with the essentials of functional programming but would like to go even deeper.

However, I found the step too steep between the easy to understand lectures and the exercises, and the latter not as useful as they could be. It felt like I was suddenly dropped off and left to my own devices with no guidance. "Now implement this!" Uhm... what? Sure, that's easy, I've been implementing much more complicated things for decades. The problem is I have no idea how to approach it "the right way" as far as Scala is concerned, that's why I'm taking the course!

Looking at the forum - extremely sparsely populated even after over 4 months - showed that I could also expect no guidance from there. That meant that even when I finished a task I was unable to find out if what I had done was the right (functional) way. For one and most importantly, there is hardly anyone to respond, but also since the only exercises are the homework assignments you can't just post your code, that's an "honor code violation". There also is no "solution", i.e. you can't see how the course author(s) would have implemented it.

Another example, people in the forum complained about extreme differences in performance for very minor differences in the way you wrote something, and you had to find all of this out completely for yourself, again no guidance at all.

Another point is that I found the problems too academic. Sure, I can walk a list of head.tail or a tree of left.element.right tuples. But overall the problems were all from what I did a long time ago at university and it felt very, very far from what I deal with now - and I don't just do CRUD or other boring stuff and actually do have interesting algorithms to implement. The course feels like being made for university students - in a negative way.

Overall I found the course more frustration than it was worth. I could have solved the programming challenges easily enough in a way I already knew, but what's the point? I wanted to learn the new (Scala) way, but felt all alone in trying to do that.

The course was like a good violin player demonstrating a piece and then giving me some sheet music and shoving me out the door "come back when you can play that". It's hard to complain about "free", but if course forum participation is a guide, both total numbers as well as the steep drop-off after week 1 and 2, it isn't very successful.

The course:

Note: Enrolling in the courses individually is possible for free, going through the "specialization" page at only shows the for-pay option.

Sep 06, 2016 odabaxok on Advantages of Functional Programming in Java 8
How about ?
May 31, 2016 LionessLover on Ask HN: Relationship between OO and functional programming?
They are orthogonal. Program in Scala and do both.

Free course(s):

"Functional Programming Principles in Scala"

"Functional Program Design in Scala"

(There are two more free courses in the "specialization" - only the certificates and the capstone project cost money - original announcement )

May 23, 2016 timothyklim on Functional Program Design in Scala (new Course)
And two others:
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 ~ Privacy Policy ~