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
Introduction
Introduction to Scala Fundamentals LiveLessons
Lesson 1: Getting Started with Scala
Learning objectives
1.1 Understand Scala’s background
1.2 Set up sbt
1.3 Set up Eclipse
1.4 Navigate the Scala documentation
Lesson 2: Data and Control Flow
Learning objectives
2.1 Declare variables and evaluate expressions
2.2 Explore the type lattice and use type inference
2.3 Define methods
2.4 Explore pattern matching
2.5 Handle exceptions with patterns
2.6 Transform data with for-comprehensions
2.7 Implement a postfix calculator
Lesson 3: Object-Oriented Programming
Learning objectives
3.1 Define classes
3.2 Define singleton objects
3.3 Implement apply and unapply methods
3.4 Eliminate boilerplate with case classes
3.5 Apply polymorphism and inheritance
3.6 Compose behavior with traits
3.7 Expand the calculator with object-oriented style
Lesson 4: Introduction to Generics
Learning objectives
4.1 Implement generic classes and methods
4.2 Understand variance annotations
Lesson 5: Functional Programming
Learning objectives
5.1 Explore function objects and literals
5.2 Understand purely-functional lists and recursion
5.3 Capture common patterns with higher-order functions
5.4 Manipulate functions with currying
5.5 Refine the calculator with pure functional style
Lesson 6: Real-World Scala
Learning objectives
6.1 Use implicits and Java interoperability
6.2 Avoid common mistakes
Summary
Summary of Scala Fundamentals LiveLessons