Home > Development > My view on Coursera’s Scala courses

My view on Coursera’s Scala courses

I’ve spent my last 7 weeks trying to follow Martin Odersky’s Scala courses on the Coursera platform.

In doing so, my intent was to widen my approach on Functional Programming in general, and Scala in particular. This article sums up my personal thoughts about this experience.

Time, time and time

First, the courses are quite time-consuming! The course card advises for 5 to 7 hours of personal work a week and that’s the least. Developers familiar with Scala will probably take less time, but other who have no prior experience with it will probably have to invest as much.

Given that I followed the course during my normal work time, I can assure you it can be challenging. People who also followed the course confirmed this appreciation.

Functional Programming

I believe the course allowed me to put the following Functional Programming principles in practice:

  • Immutable state
  • Recursivity

Each assignment was checked for code-quality, specifically for mutable state. Since in Scala, mutable variables have to be defined with the var keyword, the check was easily enforced.

Algorithmics

I must admit I only received the barest formal computer programming education. I’ve picked up the tricks of the trade only from hard-won experience, thus I’ve only the barest algorithmics skills.

The offered Scala course clearly required much needed skills in this area and I’m afraid I couldn’t fulfill some assignments because of these lackings.

Area of improvement

Since I won’t code any library or framework in Scala anytime soon, I feel my next area of improvement will be focused on the whole Scala collections API.

I found I missed a lot of knowledge of these API during my assignments, and I do think improving this knowledge will let me code better Scala applications in the future.

What’s next

At the beginning, I aimed to have 10/10 grade in all assignments but in the end, I only succeeded to achieve these in about half of them. Some reasons for this have been provided above. To be frank, it bothers the student part in me… but the more mature part sees this as a way to improve myself. I won’t be able to get much further, since Devoxx takes place the following week in Antwerp (Belgium). I’ll try to write about the conferences I’ll attend to or I’ll see you there: in the later case, don’t miss out my hands-on lab on Vaadin 7!

email
Send to Kindle
Categories: Development Tags: ,
  1. Jakob Külzer
    November 6th, 2012 at 17:59 | #1

    Hello Nicolas,

    I was looking at the Coursera Scala course as well, but haven’t had the time to really dive in yet. You mentioned that the courses require skills in that area, so I wonder how do you think would a Java developer without any Scala experience fare?

    Cheers,
    Jakob

  2. November 6th, 2012 at 18:03 | #2

    Hi Jakob,
    Like I said, I have no formal computer programming experience, so it’s hard for me to say how a “normal” computer programmer would do. In my case, I had read and tried some Scala before, so I was no complete beginner. I would encourage you to do the same.
    Good luck!
    Nicolas

  1. No trackbacks yet.