Mastering Kotlin Coroutines

Gain insights into Kotlin coroutines and their applications in Android. Learn about essential concepts like builders, context, scope, exception handling, testing, and data flows.

Intermediate

124 Lessons

26h

Certificate of Completion

Gain insights into Kotlin coroutines and their applications in Android. Learn about essential concepts like builders, context, scope, exception handling, testing, and data flows.

AI-POWERED

Explanations

AI-POWERED

Explanations

This course includes

247 Playgrounds
16 Quizzes

This course includes

247 Playgrounds
16 Quizzes

Course Overview

Ever since Google announced Kotlin as the language of choice for Android development, it's become increasingly popular. Current trends suggest that coroutines are the direction in which our industry is clearly headed. This course is for anyone interested in getting experience with Kotlin coroutines. In this course, you’ll take a hands-on, task-based approach to using coroutines in Android applications. You'll work with the most common tools that Android back-end developers use every day for Kotlin. The co...Show More

What You'll Learn

An understanding of how Kotlin coroutines work under the hood

An understanding of how suspension and flows work

Hands-on experience using different coroutine builders

The ability to test time dependencies between coroutines

The ability to use channels for practical use cases

A working knowledge of StateFlow, SharedFlow, and the CoroutineScope functions

What You'll Learn

An understanding of how Kotlin coroutines work under the hood

Show more

Course Content

1.

Getting Started

Get familiar with Kotlin coroutines for concurrent programming in software development.
2.

Understanding Kotlin Coroutines

Discover the logic behind Kotlin coroutines for asynchronous tasks, from theory to practical applications.
3.

Coroutines Under the Hood

Examine the inner workings of Kotlin coroutines, focusing on state management and efficiency.
4.

Kotlin Coroutine Library

Grasp the fundamentals of Kotlin Coroutine Library, coroutine builders, and structured concurrency.
5.

Coroutine Context

Map out the steps for understanding and managing Kotlin CoroutineContext elements.
6.

Job and Awaiting Children

6 Lessons

Focus on managing coroutine Jobs, parent-child relationships, and effective coroutine synchronization.
7.

Cancellation and Exception Handling

10 Lessons

Piece together the parts of cancellation and exception handling in Kotlin coroutines.
8.

Coroutine Scope Functions

7 Lessons

Try out effective coroutine management with Kotlin coroutine scope functions.
9.

Dispatchers and Constructing a Coroutine Scope

9 Lessons

Walk through dispatchers' roles and mechanisms, and construct effective coroutine scopes in Kotlin.
10.

Shared State

6 Lessons

Go hands-on with efficient coroutine solutions for managing shared state and avoiding deadlocks.
11.

Testing Kotlin Coroutines

8 Lessons

Break down complex ideas in testing Kotlin coroutines, virtual time manipulation, and dispatcher usage.
12.

Channel and Actors

8 Lessons

Deepen your knowledge of channels and actors, their types, parameters, and practical implementation.
13.

Hot and Cold Data Sources

5 Lessons

Follow the process of distinguishing and utilizing hot and cold data streams in Kotlin.
14.

Flow

5 Lessons

Master the steps to handle asynchronous data streams using Kotlin Flow and suspending functions.
15.

Flow Building

5 Lessons

Get familiar with building and managing Kotlin flows for efficient asynchronous data handling.
16.

Flow Lifecycle Functions

5 Lessons

Get started with managing Kotlin Flow lifecycles and handling exceptions effectively.
17.

Flow Processing, SharedFlow, and StateFlow

9 Lessons

Examine flow manipulation, collection processing, fold/scan functions, shared and state flows, and practical challenges.
18.

Wrap Up!

1 Lesson

Break down the steps to master Kotlin coroutines for effective asynchronous programming.

Course Author

Trusted by 1.4 million developers working at companies

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Evan Dunbar

ML Engineer

Carlos Matias La Borde

Software Developer

Souvik Kundu

Front-end Developer

Vinay Krishnaiah

Software Developer

Eric Downs

Musician/Entrepeneur

Kenan Eyvazov

DevOps Engineer

Anthony Walker

@_webarchitect_

Emma Bostian 🐞

@EmmaBostian

Hands-on Learning Powered by AI

See how Educative uses AI to make your learning more immersive than ever before.

Instant Code Feedback

Evaluate and debug your code with the click of a button. Get real-time feedback on test cases, including time and space complexity of your solutions.

AI-Powered Mock Interviews

Adaptive Learning

Explain with AI

AI Code Mentor