Creative Scala: A New Introduction to Scala
underscore.io
underscore.io
Given as a MOOC on Coursera.
P.s. I liked your talk at north east scala symposium about scala's type system, looking foreword to more like this
Don't get me wrong, the course is good, but sometimes some things could be presented in a simpler way. If I were to enroll into the course again, first I'd check out Twitter's Scala School page to learn some basics: https://twitter.github.io/scala_school/
Differentiating Coursera and Creative Scala, Coursera is aimed at people with some programming experience and is intended as a comprehensive introduction to functional programming. Creative Scala is intended as a taster rather than a comprehensive course. It is designed to be run as a workshop in a few hours to a day.
The bulk of Underscore's basic Scala training is our Essential Scala book/course, which is aimed squarely at people requiring learning Scala for commercial purposes. Essential Scala is a follow-on from the material in Creative Scala.
1: http://twitter.github.io/scala_school 2: http://www.scala-lang.org/docu/files/ScalaByExample.pdf
I find that the best book if you want a deep understanding of the language is Odersky's Programming in Scala. Complete, thorough, well written. It does expect you to have some programming experience, and some bits are perhaps over-detailed, but as long as you allow yourself to skip the bits that bore you, you're in for a treat.
A few years ago I joined a group which had been using scala for a while (since '09ish IIRC) and I took the coursera class to get up to speed. It definitely helped but the reality was that their code base was closer to being java++ than to haskell and a lot of the early habits I picked up from the coursera class were immediately beaten out of me once I got rolling there.
One could argue that they were in the wrong, but I disagree - Scala is a multi-paradigm language and not everyone is going the FP route (I recently heard Venners refer to Scala as a "reform movement for OO, which is how I personally treat it, but that's neither here nor there).
All this said, I don't have a better suggestion. As I mentioned I took the Coursera class and read the Staircase book. The Twitter stuff online was useful but mainly I just read as much as I could online, tracked down conference videos, etc.
1.http://www.amazon.com/Programming-Scala-Comprehensive-Step-S...
We wrote Essential Scala because we didn't think any of the existing introductory books meshed with how we want to teach. Essential Scala focuses on core patterns of functional programming, and only introduces Scala features as necessary to support these patterns.
I'm happy to email you (and anyone else who is interested) an excerpt. I'm noel at underscore dot io.
1: http://blog.agiledeveloper.com/2012/08/scala-for-intrigued-a... 2: https://www.youtube.com/watch?v=grvvKURwGNg
http://chimera.labs.oreilly.com/books/1234000001798/index.ht...
No other platform I'm aware of has anything like Typesafe Activator, which is an awesome learning/tutorial resource.
There's also Scala Koans out there somewhere I found helpful to practice with.