Advanced Scala and Functional Programming | Rock the JVM

For Scala developers: become a top level Scala programmer so you can rock Spark, Akka, Cats or any Scala tool!

  • Daniel Ciocîrlan
  • 4.69
  • (2760 reviews)
  • 13.5 hrs
  • 51 lectures
  • Udemy
Advanced Scala and Functional Programming | Rock the JVM

What you will learn?

  • Master the Scala language at the level of the best developers
  • Master functional programming
  • Design and implement complex systems, frameworks and APIs
  • Confidently customize and enhance existing Scala tools
  • Think and approach code with maturity and a deep understanding of implications

Your trainer

Daniel Ciocîrlan

I'm a software engineer with a passion for teaching. Big fan of Scala and the JVM.

I have a Master's Degree in Computer Science and I wrote my Bachelor and Master theses on Quantum Computation. Before starting to learn programming, I won medals at international Physics competitions.

For 7+ years, I've taught a variety of Computer Science topics to 30000+ of students at various levels. I've held Hour of Code for 7 year-olds, I've taught university students who now work at Google and Facebook, I've held live trainings for software engineering teams at Adobe and Apple, and I'm now so excited to share what I know with a wider community online.

51 lessons

Easy to follow lectures and videos covering subject details.

13.5 hours

This course includes hours of video material. Watch on-demand, anytime, anywhere.

Certificate of Completion

You will earn a Certificate of Completion at the end of this course.

Course curriculum

  • Welcome! Administrative and Setting up Dev Environment10:15
  • How to Make the Best Out of This Course02:39
  • Welcome!00:30
  • Recap: The Scala Basics23:47
  • Dark Syntax Sugar22:15
  • Advanced Pattern Matching18:57
  • Advanced Pattern Matching, Part 216:00
  • Welcome!00:43
  • Partial Functions22:54
  • Functional Collections: A functional Set21:52
  • Enhancing A Functional Set14:53
  • A Functional Set, level 9000: A Potentially Infinite Set13:36
  • Moar Functional Collections!02:36
  • Currying and Partially Applied Functions34:31
  • Lazy Evaluation24:13
  • Lazy Evaluation Exercise: A Potentially Infinite Stream25:59
  • Infinite Streams Proficiency: More Exercises18:54
  • Monads22:58
  • Monads: Exercises13:41
  • Welcome!00:28
  • Intro to Parallel Programming on the JVM14:28
  • Concurrency Problems on the JVM29:08
  • JVM Thread Communication17:00
  • Producer-Consumer, Level 214:43
  • Producer-Consumer, Level 3 + Excercises17:13
  • JVM Thread Communication Exercises16:15
  • Futures and Promises09:07
  • Futures, Part 217:53
  • Futures, Part 315:05
  • Futures, Part 4 + Exercises25:32
  • Welcome!00:36
  • Enter Implicits08:49
  • Organizing Implicits18:33
  • Type Classes, Part 114:13
  • Type Classes, Part 210:30
  • Pimp My Library!17:35
  • Type Classes, Part 322:16
  • A Type Class End-to-End example: JSON Serialization22:55
  • A Type Class Use Case: The Magnet Pattern24:43
  • Scala 3: Given Instances and Using Clauses21:43
  • Scala 3: Extension Methods08:31
  • Welcome!00:43
  • Advanced Inheritance14:55
  • Variance23:10
  • Variance Exercises16:40
  • Type Members12:05
  • Inner Types and Path-Dependent Types12:09
  • Self Types15:19
  • Recursive Types and F-Bounded Polymorphism22:11
  • Higher-Kinded Types18:19
  • You Rock!00:41
Online Courses

Learning Scala doesn't have to be hard. Here is our curated list of recommended online courses that will guide you step-by-step in the learning process.

Learn more
Books

Are you an avid book reader? Do you prefer paperback, or maybe Kindle version? Take a look at our curated list of Scala related books and take yourskills to the next level.

Learn more
YouTube videos

The number of high-quality and free Scala video tutorials is growing fast. Check this curated list of recommended videos - there is no excuse to stop learning.

Learn more