Welcome
  • Getting Started!
The Absolute Scala Basics
  • Values, Variables and Types
  • Expressions
  • Functions
  • Type Inference
  • Recursion
  • Call-by-Name and Call-by-Value
  • Default and Named Arguments
  • Smart Operations on Strings
Object-Oriented Programming in Scala
  • Object-Oriented Basics
  • Object-Oriented Basics (exercises)
  • Syntactic Sugar: Method Notations
  • Method Notations (Exercises)
  • Scala Objects
  • Inheritance
  • Inheritance, Continued: Abstract Classes and Traits
  • Inheritance Exercises: Implementing Our Own Collection
  • Generics
  • Anonymous Classes
  • Object-Oriented Exercises: Expanding Our Collection
  • Case Classes
  • Exceptions
  • Packaging and Imports
Functional Programming in Scala
  • What's a Function, Really?
  • Anonymous Functions
  • Higher-Order-Functions and Curries
  • HOFs and Curries (Exercises)
  • map, flatMap, filter and for-comprehensions
  • A Collections Overview
  • Sequences: List, Array, Vector
  • Tuples and Maps
  • Tuples and Maps (Exercises)
  • Options
  • Handling Failure
Pattern Matching
  • Pattern Matching
  • ALL the Patterns!
  • Patterns Everywhere
Coding practice: A Small File System
  • Introduction
  • Basic Code Scaffolding
  • Mkdir & Creating Immutable Structures, Part 1
  • Mkdir & Creating Immutable Structures, Part 2
  • Finalizing Mkdir and Testing with LS
  • PWD and Creating Files (Touch)
  • Changing Directories (CD) and Traversing Immutable Structures, Part 1
  • CD and Traversing Immutable Structures, Part 2 - Relative Paths
  • Removing "Files" and "Directories" (RM)
  • Echo!
  • Echo, Enhanced
  • Viewing "File" Contents (Cat) and Wrap-Up
You rock!
  • What's next