The Scala Programming Language Training in Ireland

  • Learn via: Classroom / Virtual Classroom / Online
  • Duration: 5 Days
  • Price: Please contact for booking options
We can host this training at your preferred location. Contact us!

The Scala Programming Language was invented in 2004 in an attempt to bring functional programming to the jvm, and the java development community. It has risen to prominence in recent years as the de-facto language to compliment and replace java in existing teams, and as an advanced and capable language on greenfield projects.

Scala combines advanced techniques long established in the functional programming community with the best practices of object-orientation, allowing developers to pick and chose a style and an approach that suits their team and their problems.

By the end of this course delegates will have a clear understanding of object orientation and functional programming, and in particular, all the major features of scala which enable these styles of programming to be used and combined.

The course is divided in to 15 modules (listed in the overview) delivered over five days with an attention to an interactive Q&A-style approach to teaching and exercise practice.

Delegates must have prior programming experience in java or a related object-oriented language.

Day 1

1 Introduction 

  • Why scala?
  • Libraries
  • Static typing
  • Compositional syntax
  • OO
  • Functional
  • Powerful
  • Paradigms
  • OO
  • Functional
  • Running scala
  • Anatomy of scala programs
  • Try the repl
  • Scalac
  • Scala interpreter
  • Sbt

1 Fundamentals

  • Language
  • Objects
  • Calling methods
  • Operators as methods
  • Values and variables
  • Types
  • Basic types
  • Boolean
  • Numeric types
  • Unit
  • Strings
  • String methods
  • Introduction to collections
  • Type arguments
  • Tuples, Lists, Maps

1 Flow

  • Branching, matching & selecting
  • Conditionals
  • Intro to pattern matching
  • Destructuring
  • For comprehensions
  • Yield vs Unit
  • Comprehensions over lists
  • Comprehensions over maps
  • Comprehensions over ranges
  • Option
  • Multiple extraction
  • Guards
  • Ranges
  • Let expressions
  • While loops

Day 2

2 Methods

  • Code blocks
  • Methods
  • Method bodies
  • Returning unit
  • Passing arguments
  • Variadics
  • Def vs val
  • Lazy vals
  • Lazy arguments
  • Recursion

2 Functions

  • What Is Functional Programming?
  • Pure Functions
  • Functions
  • The Function Type
  • ‘Function’ vs Method
  • Higher Order Functions
  • Functions as Data
  • Currying
  • Aside: Type Aliases

2 Collections

  • Review: types
  • Collections heirachy
  • Creating collections
  • Range
  • Array & array buffer
  • List & list buffer
  • Vector
  • Maps
  • Sets
  • Empty
  • Idioms
  • Pattern matching
  • For comprehnsions review
  • Zipping
  • Traits

Day 3

3 Transformation

  • Streams
  • Combinators
  • .map & .flatMap
  • Folding & Reducing
  • .exists and .forall
  • Option
  • For comprehensions
  • Foreach & Flatmap
  • Pattern matching
  • Review
  • Casting
  • Sequences
  • For-yield-match
  • Regex
  • Guards
  • Option

3 OO

  • Classes
  • Reading class definitions
  • Defining classes
  • Constructors
  • Properties
  • Method overloading
  • Java inspection of scala classes
  • Getters and setters
  • Operator methods
  • Objects
  • The object keyword
  • Companions
  • The mechanism of pattern matching
  • Case classes
  • Pattern matching with case classes
  • Aside: case objects

3 Inheritance

  • Inheritance: a type relation
  • Inheritance: class relationship
  • Overriding methods
  • Overriding tostring
  • Calling the parent method
  • Abstracts
  • Traits
  • Trait inheritance
  • Composing objects with traits
  • The meaning of super
  • Traits as mixins
  • Self types
  • Cake pattern
  • Aside: type members

Day 4

4 Design

  • Imports
  • Package objects
  • Algebra
  • Algebraic data types: defining
  • Algebraic data types
  • Example: document store
  • Tuples types
  • Generics
  • Type arguments
  • Variance
  • Special types
  • Option
  • Example: user data
  • Bad: exceptions
  • Try
  • Either

4 SBTest

  • Simple build tool
  • Build files
  • Creating a project
  • Dependencies
  • Project structure
  • Running tests
  • Sbt task runner
  • Testing
  • Type systems as tests
  • Using type systems
  • Assertions
  • Scala test
  • Flatspec
  • Featurespec
  • Matchers

4 Implicits

  • Implicit conversions
  • Implicit conversions: def
  • Implicit conversions: implicit classes
  • Implicit parameters
  • Contexts
  • Scoping
  • Type classes
  • Typeclasses with implicit classes
  • Without typeclasses
  • Typeclasses: generalizing
  • Typeclasses: implicit objects
  • Typeclasses: multiple instances

Day 5

5 HigherKinds

  • Review: Polymorphism
  • Review: Typeclasseses: Monoid
  • Scalaz
  • Sbt for Scalaz
  • Simple Typeclass: Equal
  • Simple Typeclass: Order
  • Simple Typeclass: Implementing Equal
  • Kinds
  • Higher-kinded Types: Functor
  • Generalizing Functor
  • Higher-kinded Types: Applicative
  • Monads

5 Appendix

  • Concurrency
  • Libraries





Contact us for more detail about our trainings and for all other enquiries!

Upcoming Trainings

Join our public courses in our Ireland facilities. Private class trainings will be organized at the location of your preference, according to your schedule.

Classroom / Virtual Classroom
09 July 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
02 August 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
17 August 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
10 September 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
12 September 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
13 September 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
13 September 2024
Dublin, Belfast, Cork
5 Days
Classroom / Virtual Classroom
23 September 2024
Dublin, Belfast, Cork
5 Days
The Scala Programming Language Training Course in Ireland

Ireland is an island nation located in northwestern Europe. Its history is shaped by its position as a former British colony, as well as its rich cultural heritage, which includes a long tradition of storytelling, music, and dance. Ireland gained independence from Britain in 1922 and has since become a modern, prosperous country.

Today, Ireland is known for its beautiful landscapes, rich cultural heritage, and friendly people. Popular cities within the country include Dublin, Cork, and Galway, each with their own unique charm and character. The population of Ireland is estimated to be around 5 million people, with English and Irish being the two official languages. Ireland is also home to a vibrant tech sector, with many global tech companies choosing to locate their European headquarters in Dublin. With its mix of tradition and modernity, Ireland is a popular destination for visitors from all over the world.

Choose from our extensive selection of IT courses, covering programming, data analytics, software development, business skills, cloud computing, cybersecurity, project management. Our highly skilled instructors will deliver hands-on training and valuable insights at a location of your choice within Ireland.
Dublin is considered the technology center of Ireland. It is home to a thriving tech industry, with many global tech giants such as Google, Facebook, and Microsoft having their European headquarters in the city. Dublin's reputation as a tech hub is due in part to its favorable business environment, with a low corporate tax rate and a skilled workforce that is well-educated in science, technology, engineering, and mathematics (STEM) fields.

Dublin has also been proactive in supporting the growth of the technology sector, with initiatives such as the Dublin Commissioner for Startups and the Dublin Tech Summit, an annual event that brings together technology leaders from around the world.
We are one of the best! Bilginç IT Academy offers online, live virtual and classroom trainings in Ireland. We are delighted to assist market leaders as they shape the ever-changing and evolving digital landscape. We adapt new generation training methodologies to Ireland's needs. Enroll now and take your tech team to new heights.
Bilginç IT Academy’s coding classes in Ireland can help your team reach its full potential. Our courses, which are intended for tech firm employees, provide hands-on training in the most recent coding languages and frameworks, giving your team the knowledge they need to advance your company. Take your tech team to greater levels by enrolling right away.
By using this website you agree to let us use cookies. For further information about our use of cookies, check out our Cookie Policy.