Learn Scala NowStairway to Scala
Bill VennersDick Wall
Copyright (c) 2010-2015 Escalate Software Inc. All Rights Reserved.
escalatesoft.com
About Our Courses
Stairway to Scala AppliedDay-to-day skills for working in Scala
Stairway to Scala AdvancedIn-depth for expert library and API
developers
Scala Experts Training Course Programming Language
● No prior knowledge of Scala assumed
● Some programming experience (other languages) required
● Emphasizes Functional Programming style
● Multiple Short Theory Sessions (30-45 minutes)
● Test driven exercises for each theory session
● Separated into 3 distinct parts
Stairway to Scala Applied
● Scala language basics
● Using the REPL
● Expressions and Statements
● val vs var
● Classes and Objects
● Built in Control Structures
● Functions and Closures
● Control Abstractions
Stairway to Scala Applied - Part 1 Topics
● Composition, Inheritance, Sub-typing
● Scala’s Type Hierarchy
● Top and Bottom Types
● Optional Types using Option
● Traits, Multiple Inheritance, Linearization
● Packages and Imports
● Assertions, Unit Testing
Stairway to Scala Applied - Part 2 Topics
● Case Classes
● Pattern Matching
● Futures, Promises, Actors
● Scala Collections API (Sequences, Sets, Maps, etc.)
● Using Java Libraries in Scala
● Mixing Scala and Java on Projects
● Building with SBT (and Activator)
● Custom SBT Settings and Tasks
Stairway to Scala Applied - Part 3 Topics
● Using Mutable State (with care), Caching, Encapsulating
● Type Parameterization
● Co- and Contra-Variance
● Abstract Members, Fields and Types
● Implicits Conversions, Parameters
● Implicit Context, Type Classes
Stairway to Scala Advanced - Part 1 Topics
● XML and JSON Serialization and Manipulation
● Modular Programming, Dependencies (Cake/Parfait)
● Custom Extractors (unapply, unapplySeq)
● Scala Idioms and Best Practices
● Design Patterns in Scala
● Internal DSLs (Domain Specific Languages)
Stairway to Scala Advanced - Part 2 Topics
● Tail Calls and Trampolines
● Monoids, Functors and Monads
● External DSLs (Parser Combinators)
● Macros
● Performance/Debugging
● Compiler Internals
Stairway to Scala Advanced - Part 3 Topics
● Have extensive, hands on exercises
○ Spend as much time doing as learning
● Use the same tools you will use on your projects
○ SBT, IDE (Eclipse, IDEA, your choice of editor), REPL
● Applied available online or in-person
● Advanced available in-person (online coming soon)
Stairway to Scala - Both Courses
● Same Materials, Slides and Exercises
● Online
○ Self paced
○ Lower cost
● In-person
○ Learn directly from authors
○ Faster, more intense
○ Minimum class size - 12-25 students recommended
Online or In-Person, you choose