Books & Videos

Table of Contents

Chapter: Introduction

Scala for the Impatient: Introduction

01m 49s

Chapter: Lesson 1: Scala Basics

Learning objectives

00m 28s

1.1 Know the story behind Scala

04m 6s

1.2 Use Scala worksheets

01m 11s

1.3 Work with values, variables and fundamental data types

08m 18s

1.4 Invoke functions and methods

01m 39s

1.5 Work with Scaladoc

02m 58s

Lab Exercise—Part 1: The Scala Worksheet

02m 28s

Lab Exercise—Part 2: Functions

02m 20s

Lab Exercise—Part 3: Scaladoc

04m 37s

Chapter: Lesson 2: Control Structures and Functions

Learning objectives

00m 32s

2.1 Understand conditional and block expressions

03m 44s

2.2 Use the “for each” and “for comprehension” control structures

03m 43s

2.3 Define functions

04m 41s

2.4 Understand named, default, and variable function arguments

04m 35s

Lab Exercise—Vowels

14m 39s

Chapter: Lesson 3: Arrays, Maps, and Tuples

Learning objectives

00m 35s

3.1 Work with arrays and array buffers

07m 34s

3.2 Transform arrays

01m 1s

3.3 Use common array algorithms

02m 47s

3.4 Work with maps and tuples

10m 53s

Lab Exercise—Part 1: Removing All but the First Negative Number

10m 25s

Lab Exercise—Part 2: Word Counts

03m 35s

Lab Exercise—Part 3: Grouping

02m 6s

Lab Exercise—Part 4: Partitions and Zips

04m 23s

Chapter: Lesson 4: OOP1—Classes and Objects

Learning objectives

00m 34s

4.1 Declare classes, instance variables, and methods

03m 42s

4.2 Appreciate the benefit of immutabilty

01m 56s

4.3 Understand object construction and class parameters

03m 3s

4.4 Understand the uniform access principle

02m 19s

4.5 Use the operator notation for binary methods

04m 24s

4.6 Understand objects and the role of companion objects

04m 25s

Lab Exercise—Part 1: It’s About Time

05m 5s

Lab Exercise—Part 2: Uniform Access

08m 39s

Lab Exercise—Part 3: Operators

02m 39s

Chapter: Lesson 5: OOP2—Packages, Inheritance, and Traits

Learning objectives

00m 32s

5.1 Understand packages and package nesting

02m 11s

5.2 Work with import statements

04m 5s

5.3 Declare subclasses and traits

04m 3s

5.4 Understand mixins and layered traits

05m 37s

Lab Exercise—Part 1: Mixing in Missing Methods

03m 16s

Lab Exercise—Part 2: Reversing the Mixin Order

02m 18s

Lab Exercise—Part 3: Buffering

03m 53s

Chapter: Lesson 6: Functional Programming

Learning objectives

00m 36s

6.1 Understand the concept of functional programming

03m 40s

6.2 Work with higher-order functions

05m 46s

6.3 Apply the map, filter, and reduce methods

02m 54s

6.4 Understand the concepts of closures and currying

07m 48s

6.5 Develop control abstractions

02m 58s

Lab Exercise—Part 1: Life Without Loops

04m 1s

Lab Exercise—Part 2: Reductions

03m 18s

Lab Exercise—Part 3: Do-It-Yourself while

03m 42s

Chapter: Lesson 7: Case Classes and Pattern Matching

Learning objectives

00m 37s

7.1 Understand the match statement

03m 58s

7.2 Appreciate the similarity between the match statement and exception catching

00m 55s

7.3 Work with extractors

03m 32s

7.4 Design and use case classes

04m 2s

7.5 Work with the Option type

02m 23s

7.6 Know how to choose between case classes and polymorphism

04m 50s

Lab Exercise—Part 1: Pattern Matching

02m 28s

Lab Exercise—Part 2: Articles and Bundles

04m 24s

Lab Exercise—Part 3: The Option Type

07m 48s

Chapter: Epilogue

What didn’t we cover?

01m 54s

Chapter: Summary

Scala for the Impatient: Summary

01m 59s