Workshop: Advanced Kotlin

Kotlin is a programming language developed by JetBrains that targets multiple platforms including the JVM, Android, JavaScript and native support in the works. The language provides object oriented as well as functional constructs and has been adopted by Google as an official language for Android Development, and being used by many well-known companies such as Gradle, Netflix, Basecamp, BBC, Pinterst and many others.

This full-day workshop will focus on teaching you some of the more advanced concepts in Kotlin as well as how to embrace functional programming with Kotlin.

We'll cover:

  • Functional programming
  • Advanced Interoperability
  • Asynchronous Programming with Coroutines
  • Building DSLs

A more detailed breakdown includes:

  • Inline and anonymous functions
  • Local and non-local returns
  • Generics, Covariance, Contravariance, Type Erasure and Reified Generics
  • Advanced Interoperability, Platform Types and Companion Objects
  • Lambdas with receivers
  • Building DSLs
  • Working with annotations
  • Operating overloading
  • Sequences and working with lazy evaluation
  • Functional constructs with maps, folds, reduce, etc.
  • Partial Function Applications, Currying
  • Optimisations with memoisation and tail recursion
  • Algebraic Data Types
  • Asynchronous Programming with Coroutines

Who should attend

This workshop is for those that are familiar with Kotlin but want to dive deeper into some more advanced aspects of the language as well as learn how to apply functional programming to everyday applications.

Computer Setup

An IDE or editor, Kotlin Compiler or Plugin and a version of the JDK installed. Any Operating System is fine.