Autoplay
Autocomplete
Previous Lesson
Complete and Continue
Learn By Example: Scala
You, This Course and Us
You, This Course and Us (2:21)
Course Outline (3:01)
Introducing Scala
Module Outline - Scala Intro (0:16)
Introducing Scala: Java's Cool Cousin (10:13)
Installing Scala (9:43)
Examples 1 and 2 - Hello world (5:05)
Example 3 - Mutable and Immutable ‘variables’ (5:16)
Example 4 - Type Inference (6:34)
Example 5 - String Operations (4:29)
Example 6 - A Unified Type System (5:28)
Example 7 - Emptiness in Scala (5:39)
Example 8 - Type Operations (3:53)
Expressions or Statements?
Module Outline - Loops and Conditionals (0:30)
Example 9 - Statements v Expressions (5:57)
Example 10 - Defining Values and Variables via Expressions (2:29)
Example 11 - Nested Scopes in Expression Blocks (4:53)
Example 12 - If/Else expression blocks (5:21)
Example 13 - match expressions (5:39)
Example 14 - match expressions: Pattern guards & OR-ed expressions (4:26)
Example 15 - match expressions: catch-all to match-all (6:14)
Example 16 - match expressions: down casting with Pattern Variables (7:00)
Example 17 - for loops can be expressions OR statements (7:48)
Example 18 - for loops: 2 types of iterators (3:17)
Example 19 - for loops with if conditions: Pattern Guards (2:39)
Example 21 - while/do-while Loops: Pure Statements (3:33)
First Class Functions
Module Outline - Functions (0:27)
First Class Functions (7:30)
Functions v Methods (6:05)
Example 22 - Functions are named, reusable expressions (6:07)
Example 23 - Assigning Methods to Values (8:59)
Example 24 - Invoking Functions with Tuples as Parameters (5:58)
Example 25 - Named Function Parameters (3:38)
Example 26 - Parameter Default Values (3:59)
Example 27 - Type Parameters: Parametric Polymorphism (7:13)
Example 28 - Vararg Parameters (4:57)
Example 29 - Procedures are named, reusable statements (5:30)
Example 30 - Functions with No Inputs (3:41)
Example 31 - Nested Functions (4:05)
Example 32 - Higher Order Functions (7:37)
Example 33 - Anonymous Functions (aka Function Literals) (2:44)
Example 34 - Placeholder Syntax (7:00)
Example 35 - Partially Applied Functions (7:22)
Example 36 - Currying (7:02)
Example 37 - By-Name Parameters (9:01)
Example 38 - Closures (10:11)
Collections
Module Outline - Collections (0:28)
Example 39 - Tuples (10:31)
Example 40 - Creating Lists (8:53)
Example 41 - Simple List Operations (7:48)
Example 42 - Higher Order Functions Introduced (12:49)
Example 43 - Scan, ScanLeft,ScanRight (11:51)
Example 44 - Fold, FoldLeft, FoldRight (2:28)
Example 45 - Reduce,ReduceLeft,ReduceRight (5:22)
Example 46 - Other, Simpler Reduce Operations (2:39)
Example 47 - Sets and Maps (11:23)
Example 48 - Mutable Collections, and Arrays (10:03)
Example 49 - Option Collections (5:55)
Example 50 - Error handling with util.Try (4:07)
Classes and Objects
Module Outline - Classes (0:34)
Example 51 - Classes (10:03)
Example 52 - Primary v Auxiliary Constructors (3:59)
Example 53 - Inheritance from Classes (6:03)
Example 54 - Abstract Classes (2:49)
Example 55 - Anonymous Classes (2:59)
Example 56 - Type Parameters (3:14)
Example 57 - Lazy Values (4:27)
Example 58 - Default Methods with apply (4:19)
Example 59 - Operators (4:30)
Example 60 - Access Modifiers (5:26)
Example 61 - Singleton Objects (5:33)
Example 62 - Companion Objects (9:10)
Example 63 - Traits (6:11)
Example 64 - Case Classes (3:25)
Example 65 - Self Types (7:19)
Example 22 - Functions are named, reusable expressions
Lesson content locked
If you're already enrolled,
you'll need to login
.
Enroll in Course to Unlock