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
Reference code

Stuck? Compare your work

The finished capstone — the Trip Splitter, a command-line expense splitter with a five-test suite, built across the capstone module. A standard Gradle project; run it with ./gradlew run and ./gradlew test.

It is there for when you are stuck, not to start from. Type the code yourself first — copying it will teach you very little.

View on GitHub
Syllabus

11 modules, 51 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 runs10 min
    2. Installing IntelliJ IDEA and the Kotlin toolchain20 min
    3. Your first Kotlin program15 min
    4. Kotlin scratch files: experimenting fast10 min
  2. 2

    Language Basics

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

    1. val and var: immutability by default20 min
    2. Basic types and type inference20 min
    3. Strings and string templates20 min
    4. if, when and expressions that return values25 min
    5. Loops and ranges20 min
  3. 3

    Null Safety

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

    1. The null problem Kotlin was designed to fix15 min
    2. Nullable types and the safe call operator25 min
    3. The Elvis operator, let, and smart casts25 min
    4. Why !! is almost always the wrong answer15 min
  4. 4

    Functions

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

    1. Defining functions and default arguments20 min
    2. Named arguments and readable call sites15 min
    3. Single-expression functions10 min
    4. Extension functions25 min
    5. Lambdas and higher-order functions30 min
  5. 5

    Collections

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

    1. Lists, sets and maps25 min
    2. Mutable versus read-only collections20 min
    3. map, filter, reduce and friends30 min
    4. Sequences and when they matter20 min
    5. Practice: transforming a real dataset30 min
  6. 6

    Classes and Objects

    Modelling your domain with Kotlin’s class system.

    1. Classes, constructors and properties25 min
    2. Data classes: equality and copying for free25 min
    3. Interfaces and inheritance25 min
    4. Sealed classes and exhaustive when25 min
    5. object, companion object and singletons20 min
  7. 7

    Coroutines

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

    1. Why asynchronous code exists, with a real example20 min
    2. suspend functions and the basics30 min
    3. Coroutine scopes and dispatchers30 min
    4. Structured concurrency and cancellation30 min
    5. An introduction to Flow30 min
  8. 8

    Writing Idiomatic Kotlin

    The difference between code that runs and code worth hiring: naming, structure, idioms, error handling and review.

    1. Naming things so the next reader understands25 min
    2. Function size, extraction and file organisation25 min
    3. Scope functions and the idioms that mark a Kotlin developer30 min
    4. Error handling: exceptions, nullability and Result30 min
    5. Reading code like a reviewer25 min
  9. 9

    Design Patterns, the Kotlin Way

    Which classic patterns Kotlin dissolves into language features, which few still earn their place, and when a pattern is over-engineering.

    1. What a design pattern is, and how Kotlin changes the calculus25 min
    2. Singleton, factory and builder — mostly replaced by the language30 min
    3. Adapter, decorator and delegation with extensions and by30 min
    4. Strategy, observer and state with lambdas, Flow and sealed classes35 min
    5. When a pattern is the wrong answer20 min
  10. 10

    Testing and Tooling

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

    1. Gradle basics for Kotlin projects25 min
    2. Unit testing with JUnit and Kotlin30 min
    3. Structuring a Kotlin project20 min
  11. 11

    Capstone: The Trip Splitter

    Build a real command-line Kotlin program end to end — modelling, logic, and the tests that prove it works.

    1. The brief: splitting a trip’s expenses fairly20 min
    2. Designing the model with data and sealed classes40 min
    3. The settlement logic with collections and functions45 min
    4. A command-line interface that reads like Kotlin35 min
    5. Testing it, and the bugs the tests find40 min

Learning this with a mentor is faster

Going through a course like this one is how you qualify for our six-month internship, for selected students, mostly from Pune. Clear the interview and you build real-world projects with my mentorship.