scala-exercises / exercises-scalatutorial   0.6.4

Apache License 2.0 GitHub

Exercises for the "Functional Programming Principles in Scala", part of the FP in Scala specialized program by EPFL.

Scala versions: 2.13 2.11

Scala Exercises - Functional Programming Principles library

This repository hosts a library for the first course of the Scala MOOC ("Functional Programming Principles in Scala").

Run Locally

  • Clone this repository, compile and publish the project:
git clone [email protected]:scala-exercises/exercises-scalatutorial.git
cd exercises-scalatutorial/
sbt compile publishLocal # it is important to first run the `compile` command alone
  • Clone the evaluator and run it:
git clone [email protected]:scala-exercises/evaluator.git
cd evaluator/
sbt "project evaluator-server" run
  • Clone the scala-tutorial branch of our scala-exercises fork:
git clone -b scala-tutorial [email protected]:scalacenter/scala-exercises.git
  • Follow the database setup instructions given here

  • Add the following line the server/conf/

  • Run the server:
sbt -mem 1500 run

About Scala exercises

"Scala Exercises" brings exercises for the Stdlib, Cats, Shapeless and many other great libraries for Scala to your browser. Offering hundreds of solvable exercises organized into several categories covering the basics of the Scala language and it's most important libraries.

Scala Exercises is available at


Contributions welcome! Please join our Gitter channel to get involved, or visit our GitHub site.


Copyright (C) 2015-2016 47 Degrees, LLC. Reactive, scalable software solutions. [email protected]

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.