Scala Bootcamp
This repository contains information on the Evolution Gaming Scala Bootcamp.
Schedule
Preparation for the bootcamp
Prerequisites
Please install recent versions of the following before the first lecture:
- intelliJ IDEA Community Edition
- Scala plug-in for IntelliJ IDEA
- Java Development Kit (JD), such as OpenJDK, e.g. AdoptOpenJDK
- Scala
- SBT
- Git
Alternatives that are also expected to work:
- Visual Studio Code with Metals as an IDE (to replace
IntelliJ IDEA Community Edition
andScala plug-in
respectively) - Using homebrew for installing OpenJDK (for MacOS)
- Using SDKMAN! for installing the JDK
Prepare the project
- Check out the Scala Bootcamp project
- Run tests from the command line using
sbt test
- Open the project in IntelliJ IDEA and run tests there (right-click on
scala-bootcamp
project in the left panel and clickRun ScalaTests in ‘scala…’
)
The tests will fail (for now), this is normal and expected.
If the tests do not compile, this is usually because the JDK used is too old. Make sure you use a recent JDK.
Troubleshooting
In case of issues:
- Read Getting Started with Scala
- Read Discover IntelliJ IDEA for Scala
- Ask in the Bootcamp chat
Learning resources
All resources are listed in no particular order. These resources are optional and not required to complete the bootcamp.
Books
- Essential Scala (free)
- Creative Scala (free)
- Scala with Cats 2 (free)
- Functional Programming for Mortals with Scalaz (free+)
- Functional Programming for Mortals with Cats ($15+)
- Scala from Scratch: Exploration ($15+)
- Functional Programming in Scala ($25+)
- Practical FP in Scala: A hands-on approach ($30+)
- Programming in Scala ($30+)
- Functional and Reactive Domain Modeling ($30+)
- Essential Effects ($35+)
- Functional Event-Driven Architecture ($35+)
- Zionomicon ($70)
Other
- Tour of Scala & Scala Book from scala-lang.org
- Scala Exercises
- Coursera Scala Specialization
- Rock the JVM courses
- FP Tower
Non-Scala
Status
- The 2020 Q1-Q2 bootcamp has concluded
- The 2020 Q3-Q4 bootcamp has concluded
- The 2021 Q1-Q2 bootcamp has concluded
- The 2021 Q3-Q4 bootcamp has concluded
- The 2022 Q1-Q3 bootcamp has concluded
- The 2023 Q1-Q2 bootcamp started on 2023-01-24