Android and Kotlin Essentials

Android and Kotlin Essentials

Upcoming Bootcamps

Back to Bootcamps Schedule
Feb 12, 2022 7 days, 09:00 AM CST - 05:00 PM CST

Android and Kotlin Essentials

Location: Online

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

  • $3,000.00 excl.
Register9 places remaining


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: $5200

Bootcamp price includes hotel, meals, and a shuttle to and from the hotel.

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

  • Developers who are looking to build Android applications and are new to the Kotlin programming language.

  • Students in this class should already be experienced with an object-oriented programming language, but do not need to have familiarity with Kotlin.  

  • 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.

  • 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.

  • Learn about the standard functions included with Kotlin's standard library: let, apply, also, takeIf, and run

  • 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 the functional programming features of Kotlin to clean up code, including map, flatMap, filter, and reduce, as well as how to define your own functional operators and higher order functions.


  • Work with object-oriented programming concepts

  • Learn about primary and secondary constructors, equality, and preconditions for object construction

  • Learn how to use data classes and enums to represent data and algebraic data types

  • Override classes, and define abstract, open or closed classes

  • Use Kotlin's built-in singleton implementation

  • Understand extension functions to safely add behavior to classes you don't control.


  • Learn how to interoperate with Java classes.

  • Explore Kotlin’s platform independence

  • Use coroutines to do work in the background

  • Use extensions with receivers to define a domain-specific language


  • 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.

  • 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 to performantly store application data and explore the implications of Android’s threading model.

  • Master the main thread on Android. Understand how to communicate between threads to present data to the user.

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

  • Respond to device types to create an app that is optimized for both phones and tablets.

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

  • Explore the MVVM architecture, DataBinding, and unit testing to improve the quality of your code.

  • Focus on the design of an application using Android’s styles and themes APIs. Construct XML Drawables to further customize how users see an app.


  • 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.

  • Receive and respond to system events.

  • 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.

Click this link for a print-friendly syllabus.

We are ready to discuss your needs.

Stay in Touch WITH Big Nerd Ranch News