Lesson Structure

Learn more about how each lesson in the course is designed.

Lesson format

Each lesson will be in the following format:

  1. Problem description
  2. Examples
  3. Challenge
  4. Solution
  5. Explanation

All of these are explained below.

Problem description

At the start of each lesson, a problem is defined. You need to thoroughly understand this problem to be able to code later in the lesson.


Each problem is supported by examples, which will help you understand the problem better.


A coding widget is provided to you where you can code the solution as per your understanding of the problem. To help you achieve this task successfully, we have also provided you with the skeleton of the code so you can fill in with your logic. Lastly, you can test your solutions against our predefined test cases.

Coding challenge


After you have tried to code the problem as per your understanding, you can look at the solution provided by us.

Note: If you want to play around with the solution provided, you may copy only the code written in the respective function to your try it yourself code widget.


At the end of each lesson, we elaborate the solution provided in the coding widget above. To do so, we explain how different libraries and variables are used together to successfully implement the solution.

Understand the solution