We Scala programmers love abstractions and Cats is one of the most popular libraries. At the same time, Cats is notorious for having a steep learning curve. Functors, Applicatives, Semigroupals, not to mention the M word. Few people make sense of them all. For the rest of us mortals, it's a brick wall. Certainly was for me when I started.
Cats
But it doesn't have to be. After lots of pain, I understood how this library can be fun to learn AND write with, IF - and that's a big if - you follow a clear structure and a smooth sequence. The bad news is that's tough to make. The good news is that I think (there's a good chance that) you have it in front of you.
You're looking at the only course on the web that doesn't cost an arm and a leg (and a real cat) and will get you through everything you need to know to be productive. Down to earth, hands-on, no psychobabble, and no F[_] bombs until you're ready.
This course is for Scala engineers at least at the level of the Advanced Scala course. By the end of this course, you'll be able to use any Cats feature without any problems.
About the Author: Rock the JVM
Rock the JVM (rockthejvm.com) is a Romania-based JVM-focused training platform run by Daniel Ciocîrlan — focused entirely on Scala, the broader JVM ecosystem, and the data-engineering / streaming stack built on top of it (Spark, Flink, Kafka). The platform is one of the most authoritative independent sources on Scala and functional programming on the JVM.
The CourseFlix listing carries four Rock the JVM courses: Scala & Functional Programming for Beginners, Cats (the Scala functional-programming library), Spark Streaming with Scala, and Apache Flink. The teaching style is unusually rigorous about the functional-programming fundamentals underneath the framework material.
Material is paid and aimed at engineers picking up Scala or building data-streaming systems on the JVM. For broader content, see CourseFlix's Scala, Java, and Messaging & Streaming category pages.
Watch Online 33 lessons
| # | Lesson Title | Duration | Access |
|---|---|---|---|
| 1 | Welcome Demo | 08:16 | |
| 2 | How to Make the Best Out of This Cours | 02:33 | |
| 3 | Scala Essentials Recap | 31:59 | |
| 4 | Scala Implicits Recap | 25:49 | |
| 5 | Type Classes | 14:33 | |
| 6 | Introduction to Cats | 18:27 | |
| 7 | Type Classes and Variance | 22:04 | |
| 8 | Semigroups | 00:00 | |
| 9 | Monoids | 00:00 | |
| 10 | Functors | 28:43 | |
| 11 | Monads, Part 1 | 00:00 | |
| 12 | Monads, Part 2 | 00:00 | |
| 13 | Using Monads | 35:10 | |
| 14 | Custom Monads | 36:04 | |
| 15 | Monad Transformers | 33:45 | |
| 16 | Readers | 28:57 | |
| 17 | Writers | 25:59 | |
| 18 | Evaluation | 28:37 | |
| 19 | State | 31:56 | |
| 20 | Data Validation, Part 1 | 16:01 | |
| 21 | Data Validation, Part 2 | 20:50 | |
| 22 | Semigroupal | 23:49 | |
| 23 | Applicative | 20:00 | |
| 24 | Weaker Applicatives: Apply | 15:47 | |
| 25 | Weaker Monads: FlatMap | 13:12 | |
| 26 | Handling Errors | 29:24 | |
| 27 | Folding | 21:28 | |
| 28 | Traversing, Part 1 | 21:28 | |
| 29 | Traversing, Part 2 | 21:54 | |
| 30 | Kleisli | 17:16 | |
| 31 | Contravariant | 21:00 | |
| 32 | Invariant | 24:04 | |
| 33 | You ROCK! | 00:31 |
Get instant access to all 32 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.
Learn more about subscriptionRelated courses
-
Updated 2y agoUltimate Java Part 2: Object-oriented Programming
By: Mosh Hamedani (Code with Mosh)Heard about object-oriented programming, but not sure what it is? Object-oriented programming (OOP) is a popular style of programming.3h 41m -
Updated 2y agoOracle Java Certification - Pass the Associate 1Z0-808 Exam.
By: UdemySo you've learnt some Java, but are struggling to get an interview, let alone a job. Or you are stuck in a low paying programming job, and want to move up to a20h 8m -
Updated 2y agoMicroservices: Clean Architecture, DDD, SAGA, Outbox & Kafka
By: UdemyHi there! My name is Ali Gelenler. I'm here to help you learn microservices architecture while applying Clean and Hexagonal Architectures and using Domain Drive18h 2m