Courses and Conferences

DTI Main Reception

Do you need help?

  • Gregersensvej 8
  • 2630 Taastrup
Google MapsApple MapsRejseplanen
  • Forskerparken Fyn, Forskerparken 10F
  • 5230 Odense M
Google MapsApple MapsRejseplanen
  • Teknologiparken Kongsvang Allé 29
  • 8000 Aarhus C
Google MapsApple MapsRejseplanen
  • NordsøcentretPostboks 104
  • 9850Hirtshals
Google MapsApple MapsRejseplanen
  • Gammel Ålbovej 1
  • 6092Sønder Stenderup
Google MapsApple MapsRejseplanen

Kotlin Development

Kotlin is an object-oriented language that can run equally well on the Java Virtual Machine or natively on the operating system. Kotlin is also a functional language, and combines the features and benefits of OO and functional programming. This course provides a fast-paced introduction to the language for developers with experience Java or similar languages (e.g., C# or C++), and then delves deeper into idiomatic uses of Kotlin in practice. The course also shows how to use Kotlin Multiplatform to implement a common codebase that can run on any platform.

>> Available in Danish <<


This course is for experienced developers using Java or a similar contemporary object-oriented language (e.g C# or C++).


  • Writing and running Kotlin programs
  • Object orientation in Kotlin
  • Functional programming in Kotlin
  • Implementing Domain-Specific Languages
  • Using concurrency
  • Best practices and advanced techniques


Introduction to Kotlin
  • Overview of Kotlin
  • Kotlin tools
  • Writing a simple Kotlin program
  • Using the interactive shell
  • Using the online playground
Core Kotlin Syntax
  • Types and variables
  • Literals; Decision making and looping
  • Exceptions; Enumerations
  • Regular expressions
  • Class-level and top-level functions
  • Local functions
  • Extension functions and properties
  • Variable-argument functions
Object-Oriented Programming in Kotlin
  • Classes and objects
  • Properties, getters and setters
  • Open, final, and abstract modifiers
  • Construction techniques
  • Data classes
  • Class delegation and the “by” keyword; Singleton objects
A Closer Look at Kotlin Types
  • Nullability
  • Primitive types
  • Nullable primitives
  • Collections
  • Arrays
Kotlin Techniques
  • Loops and iterators
  • Destructuring
  • Delegated properties
  • Operator overloading
Functional Programming
  • Overview of functional programming
  • Lambdas and member references
  • Functional APIs and collections
  • Lazy collection operations
Going Further with Functional Programming
  • Higher-order functions
  • Inlining; Control flow
Domain-Specific Languages
  • Overview of DSLs
  • Using lambdas and receivers in DSLs
  • Best practices
The Kotlin Type System: Generics
  • Constraints
  • Covariance and contravariance
  • Defining and using annotations
  • Reflection
  • Creating and synchronizing threads
  • Callbacks
  • Futures
  • Coroutines and channels


Andy Olsen
Andy is a freelance instructor and consultant based in the UK, with more than 30 years experience in the industry across a wide range of technologies and platforms. Andy began his professional career in C and migrated through C++, Java, .NET and other languages and toolsets as the years passed by. Andy is currently actively involved in contemporary systems development techniques including microservice architecture, cloud-based systems, and containerisation.

Do you have any course related questions, please contact