Level

Beginner

Duration

32h / 4 days

Date

Individually arranged

Price

Individually arranged

Scala Training

Scala is a modern, hybrid programming language that seamlessly integrates features of both functional and object-oriented programming. It has found applications in areas such as data science, big data, and machine learning. Scala is intuitive, flexible, concise, and offers vast possibilities. During this training, you will gain the knowledge necessary to confidently use the language, while also exploring the most popular frameworks and libraries that will make your daily work easier and more enjoyable.

What will you learn?

  • How to program in Scala, combining functional and object-oriented programming, essential in data science and big data fields
  • How to set up the environment, understand object-oriented basics, and use functional programming techniques in Scala
  • How to test Scala applications and use advanced features such as pattern matching and implicits
  • Practical applications of Scala in asynchronicity, concurrency, and integration with Java, preparing you to build efficient applications
Who is this training for?
  • logo infoshare For those who have basic programming knowledge
  • logo infoshare For those who want to develop their careers in Big Data, Data Science, or Machine Learning

Training Program

  1. Module 1: Environment Setup and First Program

  • Interpreter (REPL)
  • IDE
  • First program
  • Expressions (statement vs expression)
  • Simple Build Tool (SBT) and source code organization
  1. Module 2: Basics of Object-Oriented Programming in Scala

  • Classes and traits
  • Objects
  • Inheritance
  • Mutable and immutable fields
  • Visibility control
  • Case classes and companion objects
  • Operators
  • Type hierarchy
  • Overriding methods (override)
  1. Module 3: Collections and Functional Programming

  • Collections in the standard library
  • Higher-order functions
  • Currying
  • Call-by-name parameters
  • Mutable and immutable collections
  • Common collection operations (tail, head, zip, etc.)
  1. Module 4: Application Testing

  • Specs2, ScalaTest, ScalaCheck
  • Mocking
  • ScalaTest DSL
  • ScalaTest matchers
  1. Module 5: For Expression – For Loop / For Comprehension

  1. Module 6: Pattern Matching

  • Basic usage of Some / None
  • Matching case classes
  • Regular expressions
  • Conditional matching – pattern guards
  • Type matching and sealed classes
  • Defining custom extractors
  1. Module 7: Implicits – Classes, Methods, and Parameters

  1. Module 8: Simple Build Tool (SBT) – Advanced Topics

  1. Module 9: Exception Handling

  • Object-oriented style (try/catch)
  • Functional style (Try, Success, Failure)
  1. Module 10: Concurrency and Lazy Evaluation

  • Asynchronous calls (futures and promises)
  • Execution context
  • Laziness (lazy val)
  • Streams
  1. Module 11: Generic Classes

  • Variance
  • Constraining generic type parameters
  1. Module 12: Integration with Java Code

  1. Module 13: Sample Application

  • Overview of popular frameworks
  • REST interface implementation
  • Database connection
  • Domain-Specific Languages (DSL)

Contact us

we will organize training for you tailored to your needs

Przemysław Wołosz

Key Account Manager

przemyslaw.wolosz@infoShareAcademy.com

    The controller of your personal data is InfoShare Academy Sp. z o.o. with its registered office in Gdańsk, al. Grunwaldzka 427B, 80-309 Gdańsk, KRS: 0000531749, NIP: 5842742121. Personal data are processed in accordance with information clause.