Chariot Education Services

Regular Location: Chariot - Philadelphia

Course: Typesafe Training - Fast Track to Scala

This two-day course, designed by Martin Odersky, the creator of the Scala programming language, and Heiko Seeberger, a recognized Scala expert, will give you an excellent grounding in Scala.

Upcoming Classes

For more dates or different classes, check our complete online schedule.

Start Date Pricing Location
Thu Jul 19 2012 $1,200.00 Chariot - Philadelphia

Course Description

Note: You may use one of our Mac workstations, or bring your own laptop to this course.

This two-day course, designed by Martin Odersky, the creator of the Scala programming language, and Heiko Seeberger, a recognized Scala expert, will give you an excellent grounding in Scala.

It is intended to enable developers or development managers, who are experienced programmers in Java or other production languages like C++, C# or Ruby, to confidently start programming in Scala. No previous knowledge of Scala is assumed. Although intense, the course ensures you will have a solid understanding of the fundamentals of the language, the tooling and the development process as well as a good appreciation of the more advanced features. If you already have Scala programming experience, then this course could be a useful refresher.

After having participated in this course you should

  • be a competent user of Scala constructs in application code
  • know and be able to apply the functional programming style in Scala
  • know how to use the fundamental Scala tools
  • be confident to start using Scala in production applications

The presentation will frequently be mixed with hands-on exercises that give you a good opportunity to try what you have learnt and a chance to clarify your understanding. If you bring your own machine, please make sure you have administrative access to install software and that you have already installed Java JDK 6. Eclipse, vim, emacs or another IDE/ text editor will be necessary.

Prerequisites

Prior experience in Java, C#, C++, Ruby or other production languages.


Course Outline

Why Scala?

  • Short history
  • Overview of Scala’s core characteristics

Setting up the development environment

  • Installing the Scala distribution
  • Installing Eclipse and the Scala plugin
  • Installing sbt

First steps

  • Interactive programming in the REPL
  • Variables and methods
  • Expressions and type inference
  • First glance at functions

Basic OO features

  • Classes, class parameters, constructors
  • Fields, class parameters as fields
  • Methods
  • Operators
  • Named and default arguments
  • Packages and imports
  • Access modifiers
  • Singleton objects, companions, Predef
  • Case classes

Testing in Scala

  • SBT managed dependencies
  • Test-driven development with triggered test (~test)
  • Testing with specs2

Learning FP by collections

  • Collection hierarchy, creating instances
  • Type parameters
  • Tuples
  • Immutability versus mutability
  • Some important collection methods
  • Higher-order functions and function literals
  • Functions values, function types, short notation
  • Important higher order functions: map, flatMap and filter

For-expressions and -loops

  • Generators
  • Filters
  • Definitions
  • Translation of for-expressions and -loops

Inheritance and traits

  • Extending classes
  • Final and sealed classes
  • Enumerations
  • Overriding members
  • Abstract classes
  • Implementing abstract members
  • Standard type hierarchy
  • Traits and mix-in composition

Pattern Matching

  • Match-expressions
  • Pattern types
  • Pattern guards
  • Patterns outside of match expressions

XML support

  • Built-in literals
  • XML library

Course Details

Event Type:
Training Course

List Price:
$1,200.00

Number of Days: 2