Learn By Example: Scala
65 examples that will bring Scala to life for you
What you will learn?
- Use Scala with an intermediate level of proficiency
- Read and understand Scala programs - including those with highly functional forms - written by others
- Identify the similarities and differences between Java and Scala, and use both to their advantage
72 lessons
Easy to follow lectures and videos covering subject details.
7 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
- You, This Course and Us02:21
- Introducing Scala: Java's Cool Cousin10:11
- Installing Scala09:43
- Examples 1 and 2 - Hello world05:05
- Example 3 - Mutable and Immutable ‘variables’05:16
- Example 4 - Type Inference06:34
- Type Inference1 question
- Example 5 - String Operations04:29
- Example 6 - A Unified Type System05:28
- Example 7 - Emptiness in Scala05:39
- Example 8 - Type Operations03:53
- Module Outline - Loops and Conditionals00:30
- Example 9 - Statements v Expressions05:57
- Example 10 - Defining Values and Variables via Expressions02:29
- Example 11 - Nested Scopes in Expression Blocks04:53
- Example 12 - If/Else expression blocks05:21
- Example 13 - match expressions05:39
- Example 14 - match expressions: Pattern guards & OR-ed expressions04:26
- Example 15 - match expressions: catch-all to match-all06:14
- Example 16 - match expressions: down casting with Pattern Variables07:00
- Pattern Matching2 questions
- Example 17 - for loops can be expressions OR statements07:48
- Example 18 - for loops: 2 types of iterators03:17
- Example 19 - for loops with if conditions: Pattern Guards02:39
- Example 21 - while/do-while Loops: Pure Statements03:33
- For Loops2 questions
- Module Outline - Functions00:27
- First Class Functions07:29
- Functions v Methods06:05
- Example 22 - Functions are named, reusable expressions06:06
- Example 23 - Assigning Methods to Values08:59
- Example 24 - Invoking Functions with Tuples as Parameters05:57
- Example 25 - Named Function Parameters03:38
- Example 26 - Parameter Default Values03:59
- Parameter Default Values1 question
- Example 27 - Type Parameters: Parametric Polymorphism07:13
- Example 28 - Vararg Parameters04:57
- Example 29 - Procedures are named, reusable statements05:30
- Example 30 - Functions with No Inputs03:40
- Example 31 - Nested Functions04:04
- Example 32 - Higher Order Functions07:37
- Higher Order Functions1 question
- Example 33 - Anonymous Functions (aka Function Literals)02:44
- Example 34 - Placeholder Syntax07:00
- Example 35 - Partially Applied Functions07:22
- Partially Applied Functions1 question
- Example 36 - Currying07:02
- Parameter Groups1 question
- Example 37 - By-Name Parameters09:01
- By-Name Parameters1 question
- Example 38 - Closures10:11
- Module Outline - Collections00:28
- Example 39 - Tuples10:31
- Tuples1 question
- Example 40 - Creating Lists08:53
- Example 41 - Simple List Operations07:48
- Lists1 question
- Example 42 - Higher Order Functions Introduced12:49
- Simple Higher Order Methods1 question
- Example 43 - Scan, ScanFold,ScanReduce11:51
- Example 44 - Fold, FoldLeft, FoldRight02:28
- Example 45 - Reduce,ReduceLeft,ReduceRight05:21
- Example 46 - Other, Simpler Reduce Operations02:39
- Scan2 questions
- Fold1 question
- Reduce1 question
- Example 47 - Sets and Maps11:23
- Maps1 question
- Example 48 - Mutable Collections, and Arrays10:03
- Mutable Collections and Arrays1 question
- Example 49 - Option Collections05:55
- Example 50 - Error handling with util.Try04:07
- Options1 question
- Module Outline - Classes00:34
- Example 51 - Classes10:03
- Example 52 - Primary v Auxiliary Constructors03:59
- Primary Constructors1 question
- Example 53 - Inheritance from Classes06:03
- Example 54 - Abstract Classes02:49
- Example 55 - Anonymous Classes02:59
- Example 56 - Type Parameters03:14
- Example 57 - Lazy Values04:27
- Example 58 - Default Methods with apply04:17
- Example 59 - Operators04:30
- Example 60 - Access Modifiers05:25
- Example 61 - Singleton Objects05:33
- Example 62 - Companion Objects09:10
- Example 63 - Traits06:10
- Traits1 question
- Example 64 - Case Classes03:25
- Example 65 - Self Types07:19
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