EPL: Scala Resources

The programming language used for lab, tutorial and coursework exercises is Scala. Any DICE machine (i.e. any Linux machine in an Informatics computer lab) should have Scala 3.3.1 installed; type scala at a command prompt to start the Scala interpreter.

If you prefer to work on programming assignments on your own laptop/desktop: as usual, we can provide formal support for DICE and do not support arbitrary computing environments used by students on their own hardware.  Be aware that there are nontrivial changes between Scala versions particularly between Scala 2.x and Scala 3. 

Scala has many features in common with functional languages (such as Haskell) and object-oriented languages (such as Java). Prior familiarity with Scala is not needed for EPL, and we will investigate many of these features as part of the course. We will not cover all of Scala's more advanced or experimental features.

We will follow a "functional-first" style of Scala programming for most of the course, while most resources on Scala are oriented towards object-oriented programmers familiar with Java, Python or Ruby. Although the lectures, tutorials and lab/assignment handouts should provide all of the information about Scala you need for this course, you might be interested the following resources which cover Scala's features in more depth or from a different perspective.

License
All rights reserved The University of Edinburgh