1
KOTLIN SYLLABUS
1. Introduction to Kotlin 3. Control Flow Statements
What is Kotlin? If-Else Expressions
History and Features of Kotlin When Expression (Switch Case Alternative)
Installing Kotlin (CLI, IDEs: IntelliJ IDEA, Loops: for, while, do-while
Android Studio)
Ranges (downTo, step, until)
Writing and Running a Kotlin Program
Break, Continue, and Return
Kotlin vs Java vs Other Languages
4. Functions in Kotlin
2. Kotlin Basics Function Declaration and Calling
Variables (val, var, lateinit) Default and Named Arguments
Data Types and Type Inference Single Expression Functions
Type Conversion Higher-Order Functions
Operators (Arithmetic, Logical, Bitwise, Lambda Expressions
Relational, Assignment)
Inline Functions
String Templates and String Manipulation
Recursive Functions
Comments in Kotlin
Tail Recursion
1
2
KOTLIN SYLLABUS
5. Object-Oriented Programming
(OOP) in Kotlin Iterating over Collections (forEach, map, filter,
reduce)
Classes and Objects
Mutable vs Immutable Collections
Constructors (Primary & Secondary)
Properties and Fields (Getters, Setters) 7. Null Safety and Smart Casting
Access Modifiers (public, private, protected, Nullable Types (? Operator)
internal)
Safe Call (?.) and Elvis Operator (?:)
Data Classes
Smart Casting (is, as, !! Operator)
Inheritance and Method Overriding
Let, Apply, Also, Run, With Scope Functions
Abstract Classes and Interfaces
Sealed Classes and Sealed Interfaces
8. Exception Handling
6. Kotlin Collections & Data Try, Catch, Finally Blocks
Structures
Multiple Catch Blocks
Arrays (IntArray, CharArray, Array<T>)
Throwing Exceptions
Lists (MutableList, List)
Custom Exceptions
Sets (Set, MutableSet)
Maps (HashMap, LinkedHashMap, TreeMap)
2
3
KOTLIN SYLLABUS
9. Kotlin Standard Library Functions 11. File Handling & I/O Operations
let, run, with, apply, also Reading & Writing Files in Kotlin
takeIf, takeUnless Working with File Streams
lazy Initialization BufferedReader and BufferedWriter
Lateinit vs Lazy Reading JSON & XML Files
10. Coroutines and Multithreading 12. Functional Programming in
Kotlin
Introduction to Coroutines
Higher-Order Functions
Launching Coroutines (launch, async,
withContext) Lambda Expressions
Coroutine Builders (runBlocking, async, Inline Functions
launch)
Anonymous Functions
CoroutineScope and CoroutineContext
Function References
Dispatchers (Main, IO, Default, Unconfined)
Currying and Partial Functions
Structured Concurrency
Exception Handling in Coroutines
Channels and Flows
3
4
KOTLIN SYLLABUS
13. Generics in Kotlin 16. DSL (Domain Specific Language)
in Kotlin
Generic Functions
Creating a Simple DSL
Generic Classes
Kotlin DSL vs Regular Kotlin
Type Constraints
Writing Custom DSLs
Covariance and Contravariance
17. Interoperability with Java
14. Reflection in Kotlin Calling Java Code from Kotlin
Kotlin Reflection API Calling Kotlin Code from Java
Class References (::class) Null Safety with Java
Function References (::function) Using @JvmStatic, @JvmOverloads,
@JvmField
Property References (::property)
18. Advanced Kotlin Features
Operator Overloading
15. Annotations and
MetaProgramming
Delegation (by keyword)
Built-in Annotations (@Deprecated,
@JvmStatic, @JvmOverloads) Inline Classes
Custom Annotations Type Aliases
Annotation Targets and Retention Contracts
4
5
KOTLIN SYLLABUS
19. Android Development with 20. Kotlin for Backend Development
Kotlin (Ktor & Spring Boot)
Introduction to Android Studio Introduction to Ktor Framework
Setting up Kotlin in Android Creating REST APIs with Ktor
Activities and Fragments Dependency Injection with Koin
Views and ViewBinding Working with Databases (Exposed, Hibernate)
RecyclerView and Adapters Authentication & Authorization in Ktor
Navigation Component Kotlin with Spring Boot
MVVM Architecture
Dependency Injection with Dagger/Hilt 21. Kotlin Multiplatform
Development (KMP)
Room Database (SQLite)
Introduction to Kotlin Multiplatform
LiveData and ViewModel
Shared Business Logic
Retrofit for Networking
Kotlin Multiplatform with Android & iOS
Jetpack Compose Basics
Kotlin/Native and Kotlin/JS
5
6
KOTLIN SYLLABUS
22. Jetpack Compose (Modern UI Multiplatform Coroutines
for Android)
Metaprogramming with Kotlin
Basics of Jetpack Compose
__________________________
State Management in Compose
Lazy Lists & Grids
Themes and Material Design
Navigation in Jetpack Compose
23. Testing in Kotlin
Unit Testing (JUnit, KotlinTest, MockK)
UI Testing (Espresso, UI Automator)
Integration Testing
Test-Driven Development (TDD)
24. Advanced Kotlin Topics
Compiler Plugins
Writing Custom Annotations and Code
Generation