Functional Programming with Scala Cats
When you initially start out as Scala developers, your first opinion of the language may be that it is "a better Java." You learn about classes, characteristics, pattern matching, and other structures that help you in your daily life. They eventually come across great higher-order techniques like mapping, filtering, and folding. These are an excellent introduction to functional programming. In this course, they'll show you how common functional programming methods may help you develop more general, resilient, and testable code.
This course is broken into three parts. The first portion will teach you about type classes. They will take the problem of encoding and decoding things into and out of bytes as an example. You should be able to design your own type classes and utilize the type class pattern to develop polymorphic code by the conclusion of this session. In the second section, they'll look at some of the most common typeclasses in functional programs, such as monads, applicative, and functors, among others. They will utilize the well-known Cats library to give their implementations, and they will verify their laws using Discipline, ScalaCheck, and ScalaTest. By the conclusion of this section, you should be able to create legal instances of these types for any of your types and verify their validity automatically. In the third and final session, you will learn to use functional structures to execute a variety of typical programming tasks.
Who is this course for?
- Scala developers with 1 or 2 years of experience who want to learn the functional side of the language.
- Students who have completed an introductory Scala course and are willing to learn more advanced features
Requirements:
- Working knowledge of the Scala language (case classes, pattern matching, traits, implicits, etc.)
- Basic understanding of the Scala library (List, Map, Set, etc.)
- (Nice to have) some experience using the basic higher order methods such as maps, flatMaps, and fold
Udemy rating: 4.8/5
Enroll here: https://www.udemy.com/course/functional-programming-with-scala-cats/