https://github.com/evolution-gaming/scala-bootcamp
Scala Bootcamp
https://github.com/evolution-gaming/scala-bootcamp
Last synced: about 1 year ago
JSON representation
Scala Bootcamp
- Host: GitHub
- URL: https://github.com/evolution-gaming/scala-bootcamp
- Owner: evolution-gaming
- Created: 2020-01-08T13:13:32.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2025-01-14T10:50:58.000Z (over 1 year ago)
- Last Synced: 2025-04-12T15:58:36.403Z (about 1 year ago)
- Language: Scala
- Size: 5 MB
- Stars: 145
- Watchers: 28
- Forks: 96
- Open Issues: 0
-
Metadata Files:
- Readme: ReadMe.md
Awesome Lists containing this project
README
# Scala Bootcamp
This repository contains information on the [Evolution Gaming](https://eng.evolutiongaming.com/) Scala Bootcamp.
## Schedule
[2023 Q1-Q2 bootcamp schedule](Schedule.md)
## Preparation for the bootcamp
### Prerequisites
Please install recent versions of the following before the first lecture:
- [intelliJ IDEA Community Edition](https://www.jetbrains.com/idea/download/)
- [Scala plug-in](https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html) for IntelliJ IDEA
- Java Development Kit (JD), such as OpenJDK, e.g. [AdoptOpenJDK](https://adoptopenjdk.net/)
- [Scala](https://www.scala-lang.org/download/)
- [SBT](https://www.scala-sbt.org/download.html)
- [Git](https://git-scm.com/downloads)
Alternatives that are also expected to work:
- [Visual Studio Code](https://code.visualstudio.com/Download) with [Metals](https://marketplace.visualstudio.com/items?itemName=scalameta.metals) as an IDE (to replace `IntelliJ IDEA Community Edition` and `Scala plug-in` respectively)
- Using [homebrew](https://brew.sh/) for installing [OpenJDK](https://formulae.brew.sh/formula/openjdk) (for MacOS)
- Using [SDKMAN!](https://sdkman.io/) for installing the JDK
### Prepare the project
- Check out the [Scala Bootcamp](https://github.com/evolution-gaming/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 click `Run 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](https://docs.scala-lang.org/getting-started/index.html)
- Read [Discover IntelliJ IDEA for Scala](https://www.jetbrains.com/help/idea/discover-intellij-idea-for-scala.html)
- 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](https://underscore.io/books/essential-scala/) (free)
- [Creative Scala](https://www.creativescala.org/) (free)
- [Scala with Cats 2](https://www.scalawithcats.com/) (free)
- [Functional Programming for Mortals with Scalaz](https://leanpub.com/fpmortals) (free+)
- [Functional Programming for Mortals with Cats](https://leanpub.com/fpmortals-cats) ($15+)
- [Scala from Scratch: Exploration](https://leanpub.com/scala-from-scratch-exploration) ($15+)
- [Functional Programming in Scala](https://www.manning.com/books/functional-programming-in-scala#toc) ($25+)
- [Practical FP in Scala: A hands-on approach](https://leanpub.com/pfp-scala) ($30+)
- [Programming in Scala](https://booksites.artima.com/programming_in_scala_3ed) ($30+)
- [Functional and Reactive Domain Modeling](https://www.manning.com/books/functional-and-reactive-domain-modeling) ($30+)
- [Essential Effects](https://essentialeffects.dev/) ($35+)
- [Functional Event-Driven Architecture](https://leanpub.com/feda) ($35+)
- [Zionomicon](https://www.zionomicon.com/) ($70)
### Other
- [Tour of Scala](https://docs.scala-lang.org/tour/tour-of-scala.html) & [Scala Book](https://docs.scala-lang.org/overviews/scala-book/introduction.html) from [scala-lang.org](https://www.scala-lang.org/)
- [Scala Exercises](https://www.scala-exercises.org/)
- [Coursera Scala Specialization](https://www.coursera.org/specializations/scala)
- [Rock the JVM courses](https://rockthejvm.com/)
- [FP Tower](https://www.fp-tower.com/)
### Non-Scala
- [Learn Git Branching](https://learngitbranching.js.org/)
## Status
* The [2020 Q1-Q2 bootcamp](https://evolution-gaming.timepad.ru/event/1106949/) has concluded
* The [2020 Q3-Q4 bootcamp](/presentations/2020-q3-q4/Schedule.md) has concluded
* The [2021 Q1-Q2 bootcamp](/presentations/2021-q1-q2/Schedule.md) has concluded
* The [2021 Q3-Q4 bootcamp](/presentations/2021-q3-q4/Schedule.md) has concluded
* The [2022 Q1-Q3 bootcamp](/presentations/2022-q1-q3/Schedule.md) has concluded
* The [2023 Q1-Q2 bootcamp](Schedule.md) started on 2023-01-24