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
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
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.
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
Getting Started
Set up a Kotlin environment and run your first code without Android in the way.
- 2
Language Basics
Values, types and the syntax you will use in every file you write.
- 3
Null Safety
Kotlin’s single best feature, and the reason it exists.
- 4
Functions
Kotlin functions are more flexible than most languages. Use that.
- 5
Collections
Lists, maps and sets, plus the functional operations you will use constantly.
- 6
Classes and Objects
Modelling your domain with Kotlin’s class system.
- 7
Coroutines
Asynchronous code that reads like ordinary code — essential for Android.
- 8
Writing Idiomatic Kotlin
The difference between code that runs and code worth hiring: naming, structure, idioms, error handling and review.
- 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.
- What a design pattern is, and how Kotlin changes the calculus25 min
- Singleton, factory and builder — mostly replaced by the language30 min
- Adapter, decorator and delegation with extensions and by30 min
- Strategy, observer and state with lambdas, Flow and sealed classes35 min
- When a pattern is the wrong answer20 min
- 10
Testing and Tooling
Gradle, tests and the habits that carry into a real project.
- 11
Capstone: The Trip Splitter
Build a real command-line Kotlin program end to end — modelling, logic, and the tests that prove it works.
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.