Settings

Theme

Functional Programming Principles in Scala with Martin Odersky

coursera.org

37 points by draq 12 years ago · 15 comments

Reader

brudgers 12 years ago

Enrolled in current iteration and think it's good enough to finish.

A great excuse to learn Scala. A serviceable introduction to functional programming. Middle of the road in quality relative to other computing coursrs on Coursera I've taken. Work load toward the lighter end for a Coursera course focused on programming [among those I've taken]. Use of IDE encouraged. Use of SBT required.

Of note: assignment structure and IDE encourage and facilitate testing practices. Also for a later iteration of a programming course the discussion forum is very active.

ch4s3 12 years ago

I would love to hear from someone who took (and completed) this class with no prior experience in Scala or FP.

  • austinz 12 years ago

    I fit your criteria. I really enjoyed this class; I felt like there was a good balance between Scala-specific features and conventions, and a more general overview of the functional programming way of thinking. The programming assignments were surprisingly involved for an online class.

    Since I can't learn anything from lectures unless I force myself to pay attention by taking detailed notes, I took detailed notes. You can find them at the link below, although I make no guarantees about their correctness. (Note that they may also spoil the answers to some of the impromptu in-lecture quizzes.)

    https://docs.google.com/document/d/1Uk54kbCIKUx8eX2vJsX591ss...

  • chowells 12 years ago

    I wasn't a fan of the course. For context, I've got a lot of experience in FP, but no experience in Scala. I took the course hoping to learn Scala.

    The course didn't teach me Scala. I suppose if I was an FP beginner, I would have learned something, but not much. It had about the same depth in FP as my college Programming Languages course, except that course also covered a ton of other topics.

    Part of how dissatisfied I was is because I took the course immediately after Dan Boneh's cryptography course, in which I learned a ton. I was very disappointed how little content was actually in the course.

    • the_af 12 years ago

      The title of the course is "Functional Programming Principles in Scala". To me this indicates the focus is FP principles, and Scala is the tool used. The FP content they teach is very good for an introductory course, in my opinion.

      If you took the course and read the forums, you probably noticed a LOT of people really struggled with the FP part. Imagine if it also added more in-depth Scala features...

    • eweise 12 years ago

      There was very little content or you already knew fp so you didn't learn much?

      • chowells 12 years ago

        I felt like there wasn't much content. Some of it was also very misguided, like having an Int => Bool set representation, and then having part of the assignment say "pretend the domain is limited to 0-10000 for this next part". It took 4 or 5 weeks to get to examples of using map. That just felt remarkably slow.

  • platz 12 years ago

    I took this class and enjoyed it; it was my first experience with scala, but I had previously taken grossman's programming languages course which introduce me to FP (https://www.coursera.org/course/proglang).

    Actually I thought grossman's was better at giving a comparison of FP and OO and hit on some more of the theory in FP (for example, odersky doesn't talk about the expression problem, but grossman did).

    There will still be a lot in scala that's confusing after taking this class, but it's trying to teach the concepts rather than the language details.

    That being said, I really enjoyed it and would recommend it.

    Scala is an interesting blend of FP and OO. Just be aware that the ML-style languages (or even a lisp e.g. Racket) really feel more like FP. The blend is what makes it a mind-expanding course.

  • thothamon 12 years ago

    I also fit your criteria. I learned a lot, however I would say I didn't really "get" functional programming until after reading some more books and taking a different course that emphasized functional programming. In this course, I was trying to write imperative programs just as much as I could. However, without this course as a foundation, I doubt my other reading (and the other course I took) would have been as valuable.

    • xydinesh 12 years ago

      I have worked most of this course myself and I am finishing last two assignments. I think, I have learned a lot too. Would you care to share other books you read and course you took ?

  • peejaybee 12 years ago

    I had no previous experience with Scala or FP. I thought it was an excellent course, and one of the most intellectually challenging things I had done in a long time.

    I review the course in more depth at http://bigscary.com/2013/02/27/functional-programming-in-sca...

  • zoomerang 12 years ago

    It was fantastic for me, really helped give me the 'bootstrap' I needed to start writing functional code.

  • ojbyrne 12 years ago

    I enjoyed (and completed) the class. I had no scala and only minimal FP experience.

  • dkarapetyan 12 years ago

    It is a pretty basic course. Depending on your level of programming experience it might not even be worth it.

ishbits 12 years ago

I did most of the course and was pretty new to FP. I have no plans to do Scala development, but the course did help me become a better programmer in the languages I do use.

I've been a developer for 10+ years but have been ignorant to FP. It just opened my eyes a little bit.

Keyboard Shortcuts

j
Next item
k
Previous item
o / Enter
Open selected item
?
Show this help
Esc
Close modal / clear selection