Very simple brief: Coroutines are computations which allow the developers to write more concise, asynchronous code to handle more computationally intensive tasks.
Asynchronous code introduce "sleep" and “delay” in functions of code as they run. A "builder" accepts the suspending functions as parameters which define the coroutine.