Android with Kotlin
IntermediateMaster Android development using Kotlin — from language fundamentals to production-ready architecture patterns.
Course content
Variables, Null Safety & the Type System
⏱ 6:28
Functions, Lambdas & Higher-Order Functions
⏱ 6:27
Classes, Data Classes, Sealed Classes & Enums
⏱ 6:47
Collections, Sequences & Functional Operations
⏱ 6:50
Inheritance, Interfaces & Generics
⏱ 7:06
Extension Functions, Scope Functions & DSLs
⏱ 7:58
Activities, XML Layouts & ViewBinding
⏱ 5:27
RecyclerView, ListAdapter & DiffUtil
⏱ 5:27
Fragments, FragmentManager & the Back Stack
⏱ 5:57
Navigation Component: NavGraph & SafeArgs
⏱ 5:50
Intents, Activity Results & Runtime Permissions
⏱ 6:09
Material Design: Toolbar, BottomNav & FAB
⏱ 6:03
Composables, State & Recomposition
⏱ 4:06
Layout System: Column, Row, Box & Modifiers
⏱ 4:09
LazyColumn, LazyRow & List Optimization
⏱ 4:24
Compose Navigation: NavHost & Destinations
⏱ 4:11
ViewModel Integration & UI State in Compose
⏱ 4:24
Material 3 Theming, Dynamic Color & Animations
⏱ 4:42
MVVM: ViewModel, UiState & Single Activity
⏱ 3:22
Room: Entities, DAOs & Database Migrations
⏱ 3:27
Retrofit & OkHttp: REST APIs & JSON Parsing
⏱ 3:32
Repository Pattern & Offline-First Architecture
⏱ 3:24
Hilt: Dependency Injection Modules & Scopes
⏱ 3:35
WorkManager, App Startup & Background Tasks
⏱ 3:57
Coroutines Basics: suspend, launch & Dispatchers
⏱ 5:32
Structured Concurrency: Scopes, Jobs & Cancellation
⏱ 5:37
Flow: Cold Streams & Operators
⏱ 5:40
StateFlow & SharedFlow: Hot Streams for UI
⏱ 5:32
Error Handling, retry & Coroutine Best Practices
⏱ 5:59
Testing Coroutines & Flow with Turbine
⏱ 5:49
Certification Exam
Certification Exam
Android with Kotlin
🔒 Unlock the exam
Complete the requirements above to unlock the exam
Certification Exam
Android with Kotlin
40 Questions
All difficulty levels
90 Minutes
Auto-submits when time expires
75% to Pass
Earn your certification badge
No Going Back
Once you answer, you move forward
Tips
See allval vs var: Prefer Immutability
Default to val; reach for var only when mutation is required
Data Classes: Boilerplate-Free Models
Get equals, hashCode, toString, and copy for free
Extension Functions: Add Behaviour Without Inheritance
Extend any class — even ones you don't own
Null Safety: The Elvis Operator ?:
Replace null checks with concise, expressive fallbacks