I believe that the best way to learn a new language or technology, or anything for that matter, is to really get your hands dirty. This is especially true when it comes to learning a new programming language. You really absorb the details of the language by writing code and small/toy applications in that language. However, just getting started can be a little hard sometimes. In part because you can’t yet get your hands dirty until you’ve spent a fair amount of time reading and understanding the basic principals of the language.
Recently I taught an introductory Scala course to my team at work and I spent a fair amount of time thinking about how I could get everyone involved while still learning the beginner concepts. Scala makes this relatively easy by the use of Worksheets. Worksheets are an IDE feature that allows you to execute a file’s worth of code in a REPL like environment. That being the case, I created my lessons as a series of worksheets. I walked through each of these explaining various concepts and answering questions while everyone else was able to immediately start playing with Scala code.
I hope, and feel, that this was a useful tool. That being said, if you would like to do something similar with your team, or for yourself, then you can access the worksheets on GitHub. If you find this useful, please contribute back to the project and socialize it to other developers you know who might be interested in learning Scala or teaching it to their engineering team.
Github Repo: https://github.com/JohnMurray/learn-scala-worksheets