Exercises for the course named "Fundamentals of Functional Programming"
This training is aimed at developers who want to learn about functional programming Scala to improve their coding skills. The session is targeted to an audience that has minimal or zero Scala experience. Ideally the developer has some knowledge of programming in Java, although this is not strictly required.
- Learn about Scala functions, lambdas, higher order functions and comprehensions, these are the building blocks of your functional code.
- Scala Collections, by exploring Lists, Sets, and Maps and the various operations performed on them.
- Learn how to effectively use options in Scala through theory and exercises.
- Discover the various types of pattern matching available and utilise those learnings through the labs offered during the course.
- See the advantages of using case classes through examples
- Make sure you're using a recent intellij installation
- Ensure you have the latest scala plugin (this should be available in the latest intellij)
- Install the sbt plugin in intellij if it's not available (this is available with the latest intellij)
- Clone repo locally (you can do this using intellij)
- Import as an sbt project
- Note that this project is designed to work with the Scala 2.13.10, scalatest_2.13:3.0.8:jar and scalactic_2.13:3.0.8:jar (it should work with later scala 13 versions too).
- If you have problems with SBT:
- Download the latest SBT archived
- Extract to a folder in your home dir
- Go into intellij settings, Build, Execution, Deployment > Build tools > sbt
- Choose custom launcher and specify your downloaded source such as /home/cutajarj2/tools/sbt-1.10.7/bin/sbt-launch.jar
- You can verify your solution for an exercise by running the appropriate unit test in the same package
- The lessons are divided in day 1 and day 2.
- Solutions and the lessons contents can be found in the "solutions" branch