Do you mean beginners in Scala, or beginner in programming? If you are an advanced Java programmer wanting to learn Functional programming in Scala, I suggest this book: Functional Programming in Scala.
Lots of people like Scala In Action, although it's a couple of years old now and personally I'm not sure it's a great starting point for a total beginner with Scala.
The standard reference ought to be Martin Odersky's Programming In Scala, which explains the fundamentals in some detail, but this is years out of date now.
If you want a good all-round general Scala reference I really like Programming Scala (2nd edition) by Dean Wampler and Alex Payne, which is right up to date and covers a lot of useful topics. Combine this with Alvin Alexander's Scala Cookbook and you have a pretty good set of materials to start your Scala career.
I thought it would be better posting my question here, rather than creating a new thread.
I've started learning Scala. But I'm kinda confused from where should I start.
I'm trying to pick the right resource available to learn.
Should I read the book Programming Scala (2nd edition) by Dean Wampler and Alex Payne or take the online course on Scala from IBM.
After reading about the resources a bit, I'm thinking of reading Atomic Scala first as I guess it's more oriented towards a novice programmer but I'm not sure if it would be better.
I have 3 years of experience in programming Java.
Please help me out.
Chris Webster already assembled some good resources. Here are my 2 cents.
Cay Horstmann's book is over 300+ pages, so it's not really a quick start. Besides, it's only about the syntax and doesn't cover everything, so I would skip it in favor of "Programming in Scala", which is a must read anyway.
Coursera's "Functional Programming Principles" is not really about Scala. For some reason, people don't pay much attention to its title, but it actually reflects its purpose pretty accurately. It's basically "Structure and Interpretation of Computer Programs" repackaged with Scala instead of Lisp/Scheme. Since it's based on a course for absolute beginners, experienced developers will probably not learn anything practical (it says "Principles of ..."). It's a decent course to learn basic FP stuff, but in terms of Scala you will probably learn more in one hour of watching this video:
I think it's important to note that Programming in Scala was written to be a comprehensive Scala tutorial for anyone beginner to intermediate. Plus the latest edition just came out April 2016 and covers Scala 2.12 which will come out any time now and integrates tightly with Java 8+.
For free resources, scala-lang.org has tutorials that the community has been evolving and they have gotten pretty good now.
I like Scala by Example but at the same time its a bit old now (2011 publication date). I like the tutorials they have up at scala-lang.org under Documentation/Tutorials (e.g. here) and I love the Programming in Scala book.