This 2-day course is designed to give experienced developers proficient in Java, C++, C# or Ruby the know-how to confidently start programming in Scala. 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, yet no previous knowledge of Scala is assumed.
After completing the course you should:
- be a competent user of Scala for application development
- 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
Intro - What is Scala
- Where did it come from?
Object Oriented Basics
- The core syntax of the language
- Creating classes with constructor arguments, fields and methods
- How case classes work
- Focus on immutability and concise code
Testing in Scala
- Introduction to Behavior Driven Development
- Syntax of ScalaTest
Collections and Functional Programming
- Discussion of the core collection classes and how to use them
- Focus on immutability
- Persistent data structures and structural sharing
- Sequences vs sets
- How are Maps organized and used
- What are functions and how do higher-order functions work?
- Composing multiple higher-order functions
Traits and Inheritance
- How to leverage traits and the type system in Scala
- Focus on composition over rigid inheritance structures
- Discussion of linearization
- How Scala resolves implementations while avoiding multiple inheritance that the JVM will not allow
- What is it?
- How can it be used to write powerful and expressive code?
- Discussion of how to catch exceptions
- How to deconstruct tuples on the fly
- Introduction to what the Option type is
- How it can be used
- Try: How to handle application errors in Scala
Sign up and stay in the loop
Be the first to know about upcoming workshops, courses, talks and events
Thoroughly enjoyed the course. Great introduction to Scala. Good material and examples.