Learn By Example: Scala

65 examples that will bring Scala to life for you

  • Loony Corn
  • 4
  • (684 reviews)
  • 7 hrs
  • 72 lectures
  • Udemy
Learn By Example: Scala

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

Your trainer

Loony Corn

Loonycorn is us, Janani Ravi and Vitthal Srinivasan. Between us, we have studied at Stanford, been admitted to IIM Ahmedabad and have spent years working in tech, in the Bay Area, New York, Singapore and Bangalore.

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 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