O'Reilly logo

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Scala Fundamentals

Video Description

In Scala Fundamentals LiveLessons, Dan Rosen teaches the essentials of the Scala programming language. The video training covers:

  • Scala’s background and development history
  • Basic mechanics of writing and building Scala code using the sbt build tool and the Scala IDE plugin for Eclipse.
  • Fundamental control-flow structures and type inference
  • Scala’s approach to object-oriented programming and design
  • Basics of generic programming
  • Basic functional programming idiom, and Scala’s collections API
  • "Real-world" considerations including Java interoperability and common pitfalls

About the Author:

Dan Rosen has over 10 years of professional experience as a software developer, writing and helping others to write elegant and robust code. Dan is currently the instructor of several Scala and Java training courses at Marakana. Before joining Marakana, Dan worked as a developer advocate at Atlassian, helping developers build plug-ins for Atlassian's collaboration and development tools. Dan is also a recovering C++ addict who, prior to making the leap to the JVM, contributed to products ranging from web browsers to static source code analyzers. Dan and his dog Tesla are proud residents of Oakland, California.

Table of Contents

  1. Introduction
    1. Introduction to Scala Fundamentals LiveLessons 00:06:01
  2. Lesson 1: Getting Started with Scala
    1. Learning objectives 00:00:53
    2. 1.1 Understand Scala’s background 00:16:05
    3. 1.2 Set up sbt 00:09:45
    4. 1.3 Set up Eclipse 00:11:21
    5. 1.4 Navigate the Scala documentation 00:05:19
  3. Lesson 2: Data and Control Flow
    1. Learning objectives 00:00:55
    2. 2.1 Declare variables and evaluate expressions 00:06:44
    3. 2.2 Explore the type lattice and use type inference 00:08:28
    4. 2.3 Define methods 00:09:04
    5. 2.4 Explore pattern matching 00:12:43
    6. 2.5 Handle exceptions with patterns 00:07:15
    7. 2.6 Transform data with for-comprehensions 00:11:33
    8. 2.7 Implement a postfix calculator 00:24:42
  4. Lesson 3: Object-Oriented Programming
    1. Learning objectives 00:01:01
    2. 3.1 Define classes 00:16:30
    3. 3.2 Define singleton objects 00:09:15
    4. 3.3 Implement apply and unapply methods 00:15:28
    5. 3.4 Eliminate boilerplate with case classes 00:05:55
    6. 3.5 Apply polymorphism and inheritance 00:15:28
    7. 3.6 Compose behavior with traits 00:08:40
    8. 3.7 Expand the calculator with object-oriented style 00:16:49
  5. Lesson 4: Introduction to Generics
    1. Learning objectives 00:01:11
    2. 4.1 Implement generic classes and methods 00:15:05
    3. 4.2 Understand variance annotations 00:10:34
  6. Lesson 5: Functional Programming
    1. Learning objectives 00:00:47
    2. 5.1 Explore function objects and literals 00:13:12
    3. 5.2 Understand purely-functional lists and recursion 00:10:49
    4. 5.3 Capture common patterns with higher-order functions 00:18:57
    5. 5.4 Manipulate functions with currying 00:10:37
    6. 5.5 Refine the calculator with pure functional style 00:12:18
  7. Lesson 6: Real-World Scala
    1. Learning objectives 00:00:47
    2. 6.1 Use implicits and Java interoperability 00:16:21
    3. 6.2 Avoid common mistakes 00:11:54
  8. Summary
    1. Summary of Scala Fundamentals LiveLessons 00:02:49