RizTech Academy logo
RizTech Academy

Kotlin Complete Foundation

The language behind modern Android. Learn Kotlin properly before you touch an app, so the framework is the only new thing you are learning.

Most people learn Kotlin and Android at the same time, and end up unable to tell which problem belongs to which. That makes debugging miserable.

This course teaches Kotlin on its own first. You will understand null safety, data classes, collections and coroutines as language features, so that when you open Android Studio the only new thing is the framework.

Kotlin is also worth knowing beyond Android — it runs on the server with Ktor and Spring, and cross-platform with Kotlin Multiplatform.

Who this is for

  • Beginners aiming at Android development
  • Java developers moving to Kotlin
  • Anyone joining our Mobile App Development track

What you need first

  • A computer with at least 8 GB RAM (Android Studio is demanding)
  • Basic programming concepts help but are not required

Tools you will use

Kotlin 2.xIntelliJ IDEA CommunityGradleJUnit

By the end you can

  • Write idiomatic Kotlin rather than Java with different syntax
  • Use null safety to eliminate an entire category of crash
  • Work fluently with collections and higher-order functions
  • Model data with data classes and sealed classes
  • Understand coroutines and structured concurrency
  • Read Kotlin written by other people and know what is going on
Syllabus

8 modules, 36 lessons

Work through these in order. Each lesson is short enough to finish in one sitting and ends with something to build, not a quiz.

  1. 1

    Getting Started

    Set up a Kotlin environment and run your first code without Android in the way.

    1. Why Kotlin, and where it runsComing soon
    2. Installing IntelliJ IDEA and the Kotlin toolchainComing soon
    3. Your first Kotlin programComing soon
    4. Kotlin scratch files: experimenting fastComing soon
  2. 2

    Language Basics

    Values, types and the syntax you will use in every file you write.

    1. val and var: immutability by defaultComing soon
    2. Basic types and type inferenceComing soon
    3. Strings and string templatesComing soon
    4. if, when and expressions that return valuesComing soon
    5. Loops and rangesComing soon
  3. 3

    Null Safety

    Kotlin’s single best feature, and the reason it exists.

    1. The null problem Kotlin was designed to fixComing soon
    2. Nullable types and the safe call operatorComing soon
    3. The Elvis operator, let, and smart castsComing soon
    4. Why !! is almost always the wrong answerComing soon
  4. 4

    Functions

    Kotlin functions are more flexible than most languages. Use that.

    1. Defining functions and default argumentsComing soon
    2. Named arguments and readable call sitesComing soon
    3. Single-expression functionsComing soon
    4. Extension functionsComing soon
    5. Lambdas and higher-order functionsComing soon
  5. 5

    Collections

    Lists, maps and sets, plus the functional operations you will use constantly.

    1. Lists, sets and mapsComing soon
    2. Mutable versus read-only collectionsComing soon
    3. map, filter, reduce and friendsComing soon
    4. Sequences and when they matterComing soon
    5. Practice: transforming a real datasetComing soon
  6. 6

    Classes and Objects

    Modelling your domain with Kotlin’s class system.

    1. Classes, constructors and propertiesComing soon
    2. Data classes: equality and copying for freeComing soon
    3. Interfaces and inheritanceComing soon
    4. Sealed classes and exhaustive whenComing soon
    5. object, companion object and singletonsComing soon
  7. 7

    Coroutines

    Asynchronous code that reads like ordinary code — essential for Android.

    1. Why asynchronous code exists, with a real exampleComing soon
    2. suspend functions and the basicsComing soon
    3. Coroutine scopes and dispatchersComing soon
    4. Structured concurrency and cancellationComing soon
    5. An introduction to FlowComing soon
  8. 8

    Testing and Tooling

    Gradle, tests and the habits that carry into a real project.

    1. Gradle basics for Kotlin projectsComing soon
    2. Unit testing with JUnit and KotlinComing soon
    3. Structuring a Kotlin projectComing soon

Learning this with a mentor is faster

Our internship programme is free and fully remote. You get this curriculum, real project work, and code review from working developers.