Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Advanced Scala 2
Introduction
Welcome (9:33)
How to Make the Best out of This Course (2:38)
A Taste of Advanced Scala
Scala Recap (23:47)
Dark Syntax Sugars (22:15)
Advanced Pattern Matching, Part 1 (18:56)
Advanced Pattern Matching, Part 2 (15:59)
Advanced Functional Programming
Partial Functions (22:54)
Functional Collections: A Functional Set (21:52)
The Functional Set, Level 2 (14:53)
The Functional Set, Level 9000: A Potentially Infinite Set (13:36)
Moar Functional Collections! (2:35)
Currying and Partially Applied Functions (34:30)
Lazy Evaluations (24:12)
Lazy Evaluation Practice: A Potentially Infinite List (25:58)
Streams/Lazy Lists Proficiency: Exercises (18:54)
Monads (23:12)
Monads: Exercises (13:41)
Functional Concurrent Programming
Introduction to Parallel Programming on the JVM (14:28)
Concurrency Problems on the JVM (29:34)
JVM Thread Communication, the Producer-Consumer Problem (17:00)
Producer-Consumer, Level 2 (14:43)
Producer-Consumer, Level 3 + Exercises (17:12)
JVM Thread Communication Exercises (16:15)
Futures and Promises, Part 1 (9:06)
Futures and Promises, Part 2 (17:53)
Futures and Promises, Part 3 (15:04)
Futures and Promises, Part 4 + Exercises (25:31)
Scala & JVM Standard Parallel Libraries (20:55)
Implicits
Enter Implicits (8:49)
Organizing Implicits (18:33)
Type Classes, Part 1 (14:13)
Type Classes, Part 2 (10:30)
Pimp My Library! (17:34)
Type Classes, Part 3 (22:16)
Type Classes End-to-End Example: JSON Serialization (22:55)
Type Classes Use Case: The Magnet Pattern (24:42)
Scala <> Java conversions (13:01)
Mastering the Type System
Advanced Inheritance (14:54)
Variance (23:09)
Variance: Exercises (16:40)
Type Members (12:05)
Inner Types (12:08)
Structural Types (21:11)
Self-Types (15:18)
The (fancy-sounding) F-Bounded Polymorphism (22:10)
Higher-Kinded Types (18:18)
Reflection, Part 1 (15:39)
Reflection, Part 2 (16:44)
Epilogue
You Rock! (0:41)
Advanced Pattern Matching, Part 1
Complete and Continue