Improve your experience. We are very sorry but this website does not support Internet Explorer. We recommend using a different browser that is supported such as Google Chrome or Mozilla Firefox.

Android and Kotlin Essentials

Want to write Android applications? New to Kotlin and Android development? This course is just what you need.


This 6.5 day course introduces students to developing applications for Android using the Kotlin programming language. Students will first learn the Kotlin programming language during a 2-day intensive study. Then students spend 4.5 days learning the fundamental building blocks of Android, as well as common patterns and conventions to help propel their Android development skills forward.

Bootcamp Price (In Person): $5200 - price includes hotel, meals, and a shuttle to and from the hotel.

Bootcamp Price (Online): $3000

In the Atlanta area? Interested in commuting to an in person class? Contact to discuss commuting options and discounts.

Who should take this class?


  • Developers who want or need to create Android apps using the Kotlin programming language but have little to no experience with Kotlin and little to no experience with Android.

  • Students should already be familiar with basic programming concepts: variables, statements, functions, arrays, data structures and common programming problems.

What you'll learn:


  • Fundamentals of Kotlin, including type system and nullable types, arrays and collections, control flow, and functional programming techniques

  • How to represent complex data structures with objects, inheritance, and extensions in Kotlin

  • Java and Kotlin interoperability, including how to port your existing Android application from Java to Kotlin

  • Construct Android applications using Activities and Fragments

  • Communicate with other applications

  • Understand Android’s threading model and access the web

  • Create custom views and handle raw touch events

  • Safely perform background tasks even after the user has left your app

How to prepare:


  • Install the latest version of the JDK.

  • Install IntelliJ Community Edition (for the Kotlin portion of the course).

  • Install Android Studio.

    • Once installed, start Android Studio and follow the additional installation instructions. Once you have installed all of the software and SDK components, make sure that you can create and run a new application on an emulator or on a device.




  • Understand writable & read-only properties, take a look at Kotlin’s type system, and learn about nullable and non-nullable types

  • Work with control flow statements as assignable expressions

  • See Kotlin’s scope functions — apply, let, run, with, also, takeIf, and takeUnless — and use them to write more concise and idiomatic Kotlin code

  • Take a closer look at collections, including destructuring, type checking, smart casting, and type parameter constraints

  • Use the function type to define functions that accept other functions, and learn how to optimize them by using the inlining feature of the Kotlin compiler
  • Use functional programming paradigms to write complex algorithms using just a few operations, including map, flatMap, associate, filter, zip, and fold


  • Apply object-oriented programming concepts in Kotlin to define your own types

  • Learn about constructors, preconditions, and initialization requirements for object creation

  • Inherit and override class behavior using abstract and open classes

  • Define general sets of behaviors using interfaces

  • Learn how to use data classes to define types that represent your application’s models

  • Use Kotlin’s built-in singleton implementation

  • Learn how to define algebraic data types with enums and sealed classes

  • See how to define value classes to create more efficient classes that wrap a single property


  • Understand type variance and generic type parameters

  • Use extensions to add functionality to a type without modifying the original class

  • Leverage coroutines to efficiently and safely move work between threads


  • Understand what an Activity is and how they are used to construct Android apps

  • Master the activity lifecycle to elegantly respond to device changes

  • Maintain UI state across rotation and process death

  • Use the debugger to find and fix bugs

  • Write unit tests to verify the behavior of your app

  • Safely communicate across Activities

  • Explore the differences between versions of Android and use new features while maintaining compatibility with older versions


  • Use Fragments to create reusable components and to respond elegantly to different types of devices

  • Display lists of items performantly with the RecyclerView API

  • Peek behind the scenes at Android’s layout system and understand how to use layout tools such as ConstraintLayout

  • Customize a dialog to present modal content to the user

  • Add navigation and menu options to the Toolbar


  • Use Room to access a database and performantly store application data

  • Use Kotlin coroutines to efficiently execute background work

  • Seamlessly communicate with other applications using Android’s intent system

  • Increase the potential user base of an app by supporting multiple languages and improving the accessibility


  • Download, parse, and present data from a web service

  • Learn more about the Toolbar on Android and how to add custom views

  • Perform background work safely in your application

  • Display content from a web site in your application


  • Learn how to create your own custom views when the default widgets just won’t do

  • Receive and respond to raw touch events

  • Understand how to increase the delightfulness of an app through animation

Press enter to see more results