• Programming Training

    business_appsInterSource offers live instructor-led courses on all important programming technologies, including C#, C/C#, PHP and Visual Basic. We can also arrange training on many less-known but highly useful languages. We can teach courses on a variety of additional topics; please request an offer if you need a course which is not indicated on the site.

    These live classes are offered both on client sites, at our Geneva training center, and via a Web interface.

  • About Programming

    Within software engineering, programming (the implementation) is regarded as one phase in a software development process, normally following closely on the heels of the requirements gathering phase.

    Computer programming (often shortened to programming or coding) is the process of writing, testing, debugging/troubleshooting, and maintaining the source code of computer programs. This source code is written in a programming language. The code may be a modification of an existing source or something completely new. The purpose of programming is to create a program that exhibits a certain desired behavior (customization). The process of writing source code often requires expertise in many different subjects, including knowledge of the application domain, specialized algorithms and formal logic.


    Read More
  • Course Details Programming

    Classes are offered at client sites, at our Geneva training center, and via a live web conference. For detailed course outlines and scheduled classes, please see below.

    To book training, navigate to the course you need, then:

    • For scheduled online classes, register from the choices indicated.
    • If you need an alternative date, time or location, or if you want a live classroom course, click on “request an offer for this course,” to complete the form.

Professional Scala Training

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

  1. Getting Started with Scala
    1. Setting up the Development Environment
      1. Structure of a Scala project
      2. Use of Scala's sbt tool
      3. Using the IDE
      4. Implement interactions with a simple chatbot
    2. Basic Language Features
      1. Structure of non-trivial Scala programs
      2. Main object-oriented facilities: objects, classes, and traits
      3. Syntax and parameter-passing modes
    3. Functions
      1. Basics of functional programming
      2. Basics of generic types in Scala
      3. User-defined pattern matching
      4. Use functional compositional patterns
  2. Scala Collections and Type System
    1. Scala Collections
      1. Scala collections available in the standard library
      2. Higher-order Functions
      3. Design principles for working with Scala collections
    2. Scala Type System
      1. Scala type hierarchy
      2. Features provided by the Scala type system
      3. Abstractions in the Scala type system
    3. Implicits
      1. How the Scala compiler handles implicits
      2. Design patterns that implicits enable
      3. Common issues that may arise by overusing implicits
  3. Building Code using Functional Programming
    1. Functional Idioms
      1. Core concepts of functional programming
      2. Ppopular functional programming design patterns
      3. Implement Cats and Doobie in your own Scala projects
    2. Domain Specific Languages
      1. IDomain Specific Languages (DSLs)
      2. The DSL ScalaTest
      3. Design your own DSLs in Scala

Class Materials

Each student will receive a comprehensive set of materials, including course notes and all the class examples.

Class Prerequisites

Experience in the following is required for this Scala class:

  • Prior exposure to basic Scala programming.
Since its founding in 1995, InterSource has been providing high quality and highly customized training solutions to clients worldwide. With over 500 course titles constantly updated and numerous course customization and creation possibilities, we have the capability to meet your I.T. training needs.
Instructor-led courses are offered via a live Web connection, at client sites throughout Europe, and at our Geneva Training Center.