Welcome to This is a FREE and open platform used by to conduct our classes.

Please feel free to suggest things we could include in this guide. This guide is backed in a public and open source Github repo and everyone can contribute to it.

This platform is designed to be extremely simple to use, and it's structured in the following way:


What you're currently browsing is, in learn's lingo, a course. A course will be divided in many units and each unit will contain many lessons. Other examples of courses include the material used for our Advanced Python Programming Online Course that you can see here, a mini-course about How to work with Unicode in Python or our Flask Tutorial Step by Step.


Units allow us to separate our course in big "chunks" of information. It's a way to organize the many (usually +20) lessons that each course has, in a more human-friendly way.

For example, this course has just 1 unit "Introduction" as we didn't consider it necessary to break it down into more units. But our Flask Tutorial has 5 units to structure the content in a proper way:

how units are structured

Finally, we say that a Unit is just a group of many lessons:


Lessons are the fundamental unit of information in What you're currently reading is a lesson. Lessons let us structure different type of content, through the usage of different "reading lessons".

You can see the source code of this lesson here.

Lesson types

Learn has content for many different types of "courses". That's why we need to have different types of lessons to support a great experience. Each different lesson type will have a different icon on the left menu.

Reading Lesson

This is the most basic type of lesson. It's just a simple lesson that contains text (and optionally) a youtube video. What you're currently reading is a "Reading Lesson".

This is the icon of a reading lesson:

reading lesson icon

Assignment Lesson

A coding exercise to submit through learn. Learn more in the following section.


External Assignment Lesson

A coding exercise that must be sent through Github. More on it later


Your next step

Now that you've reached the end of this lesson, hit the "Finish Lesson" button on your right to learn how to submit your first "Assignment Lesson" (a.k.a. Coding Challenge).