Course duration
- 3 days
Course Benefits
- Learn to write Scala applications.
- Learn to effectively participate in existing Scala projects.
- Learn to recognize and use typical idioms and patterns.
- Learn to identify the principles of functional programming and know the essence of advanced functional patterns.
Course Outline
- Getting Started with Scala
- Setting up the Development Environment
- Structure of a Scala project
- Use of Scala's sbt tool
- Using the IDE
- Implement interactions with a simple chatbot
- Basic Language Features
- Structure of non-trivial Scala programs
- Main object-oriented facilities: objects, classes, and traits
- Syntax and parameter-passing modes
- Functions
- Basics of functional programming
- Basics of generic types in Scala
- User-defined pattern matching
- Use functional compositional patterns
- Setting up the Development Environment
- Scala Collections and Type System
- Scala Collections
- Scala collections available in the standard library
- Higher-order Functions
- Design principles for working with Scala collections
- Scala Type System
- Scala type hierarchy
- Features provided by the Scala type system
- Abstractions in the Scala type system
- Implicits
- How the Scala compiler handles implicits
- Design patterns that implicits enable
- Common issues that may arise by overusing implicits
- Scala Collections
- Building Code using Functional Programming
- Functional Idioms
- Core concepts of functional programming
- Ppopular functional programming design patterns
- Implement Cats and Doobie in your own Scala projects
- Domain Specific Languages
- IDomain Specific Languages (DSLs)
- The DSL ScalaTest
- Design your own DSLs in Scala
- Functional Idioms
Class Materials
Each student will receive a comprehensive set of materials, including course notes and all the class examples.
Experience in the following is required for this Scala class:
- Prior exposure to basic Scala programming.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.