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!
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 moreBooks
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 your
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