Skip to main content

Lightbend Scala Language - Professional

Object-oriented meets functional programming. Take your first steps in Scala!




About This Course

Object-oriented meets functional—elegant class hierarchies, seamless Java interoperability, maximum code reuse and extensibility, built to solve difficult concurrency challenges. Take your first steps in Scala!


  • Developers gain knowledge and skills to confidently program in Scala
  • Certified Lightbend Trainers share coding insights that lead to high-quality code
  • Re-discover a passion for software - Scala is fun!


  • Developers who have experience and proficiency in Java, C++, C# or Ruby
  • Scala programmers with minimal experience looking for a refresher
  • Managers who want to gain an understanding of functional programming

Earn this Badge

Successful completion of this course will entitle you to the following badge:

Course Syllabus

  • Intro
  • First Steps in Scala
  • OO Basics
    • Ex - Define a Class
    • Ex - Define Class Parameters
    • Ex - Promote Class Parameters I
    • Ex - Promote Class Parameters II
    • Ex - Define a Field
    • Ex - Define a Method
    • Ex - Define a Operator
    • Ex - Use Default Arguments
    • Ex - Use Packages
    • Ex - Check Preconditions
    • Ex - Define Case Classes
  • Testing
    • Tests: Group Exercise
  • Collections and Functional Programming Basics
    • Ex - Use a Sequence
    • Ex - Use map
    • Ex - Use flatMap
    • Ex - Use filter
  • For Loops and For Expressions
    • Ex - Use for-expressions
  • Inheritance and Traits
    • Ex - Override toString
    • Ex - Define an ADT
    • Ex - Use a Trait
  • Pattern Matching
    • Ex - Use Match Expressions
    • Use Patterns: Group Exercise
  • Dealing with Optional Values
    • Ex - Use Option
  • Handling Failure
    • Ex - Use Try

General Information

  • This course is free.
  • It is self-paced.
  • It can be taken at any time.

Course Length

  • Approximately 10-12 hours


  • This course assumes that students are familiar with the Java, C++, C#, or Ruby languages.
  • As an introductory course, no knowledge of Scala is required.