/FunctionalProgrammingExercises

Exercises for the course named "Fundamentals of Functional Programming"

Primary LanguageScalaMIT LicenseMIT

FunctionalProgrammingExercises

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.

What you'll learn-and how you can apply it

  • 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

Tips on getting this project working in intellij

  1. Make sure you're using a recent intellij installation
  2. Ensure you have the latest scala plugin
  3. Install the sbt plugin in intellij if it's not available (this is available with the latest intellij)
  4. Download the latest SBT, then go into intellij settings, Build, Execution, Deployment > Build tools > sbt and choose custom launcher and specify your downloaded source such as C:\tools\sbt-1.3.3\bin\sbt-launch.jar
  5. Clone repo locally (you can do this using intellij)
  6. Import as an sbt project
  7. If you are still having issues try adding the scala library and scalatest manually (File > project structure > libraries)
  8. Note that this project is designed to work with the Scala 2.13.1, scalatest_2.13:3.0.8:jar and scalactic_2.13:3.0.8:jar (it should work with later scala 13 versions too).

About this project

  • 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

Links to safari

https://www.safaribooksonline.com/live-training/courses/fundamentals-of-functional-programming-with-examples-in-scala/0636920221104/

https://www.safaribooksonline.com/live-training/courses/fundamentals-of-functional-programming-with-examples-in-scala/0636920230038/