LEARN WITH A CLEAR DIRECTION
Asynchronous programming and concurrency in Android (modern best practices)
Kotlin Coroutines simplify async work with a clear, sequential style. This roadmap covers suspending functions, structured concurrency, Flow (cold) and StateFlow/SharedFlow (hot), lifecycle-aware collection, testing, and performance—everything you need to ship responsive Android apps.
THE CURRICULUM
120 lessons across 16 modules. Lessons marked “Coming soon” aren’t available yet.
Zero-prereq intro: mental model, first coroutine, basic suspend, and core terms.
Clear separation of concepts: suspension vs blocking, builders, scope boundaries, and a first taste of structured concurrency.
Principles, job hierarchies, failure propagation, supervision, and real-world scope design.
Understand CoroutineContext deeply: elements, inheritance, dispatchers (Main/IO/Default/Unconfined), thread switching with withContext, limited parallelism, and thread-local propagation.
DEFAULT, LAZY, ATOMIC, UNDISPATCHED: how they start, when to use them, and common pitfalls.
Cooperative cancellation model, robust cleanup, timeouts that don’t bite you, and writing cancel-safe suspend APIs.
Understand how failures propagate, where exceptions surface, how supervision isolates errors, and how to build resilient retry logic.
Avoid races with confinement, locks, semaphores, or actors. Keep critical sections tiny and responsive.
Cold streams, terminal ops, cancellation transparency, and where work runs.
Transform, combine, and control rate like a pro (with correct error semantics).
UI state, one-shot events, and sharing strategies done right.
Compose & View patterns that are safe, leak-free, and production-ready.
Build producer–consumer pipelines with Channels and know when SharedFlow is the better fit.
End-to-end Android patterns with coroutines: suspend networking, offline-first storage, paging, and background work.
Deterministic, fast, and reliable tests with kotlinx-coroutines-test and Turbine.
Make it fast and resilient, then apply everything in real projects.