Fork me on GitHub

The Labs

We developed several scala labs for you, some relatively simple to practice with if you have no Scala knowledge whatsoever, others are a bit more advanced for those of you who have already played around with Scala a bit.
To get started with the labs just take a look at the unit tests that are in the labs/src/test folder and start doing the exercises by fixing the failing tests.

Basic Labs

If you are taking your very first steps with the Scala language, these labs are for you. Even though these labs are designed for people with little or no Scala experience you will learn about some pretty specific Scala stuff like traits, companion objects and list manipulation.

Scala is all about managing side effects, so even though it might be hard at first, try to avoid the the use of variables and opt for (immutable) values instead. All exercises can be implementing without using the var keyword once!

Intermediate Labs

If you have some experience with Scala and are already getting familiar with its language constructs, take a swing at these labs. The theme of these labs is Twitter and they will work with the real Twitter API.

Advanced Labs

These labs cover advanced topics of scala, such as parser combinator's, functional recursive algorithms, xml handling, argument extractor's, Scala and JPA and the like.

Playground

The playground consists of the following lab projects:

  • Akka: In this project you get to know Scala's most popular actor framework: akka. The lab is based on a fully functional trafficlight application consisting of an akka kernel and a scala swing gui, which remotely communicate with each other. If correctly implemented you can run a visual trafficlight simulation. Check out the 'akka' project.
  • Liftweb: If you want to start playing with Lift, check out the 'lift' project. You will be building a fully functional web application, which offers the same functionality as google's Lattitude. You can deal with scala-jpa, comet-actor's, rest webservices and the like.