Skip to main content

How to Participate in This Course

What is TPL (The Python Ledger)?​

The Python Ledger is an open-source, community-driven roadmap designed to take you from writing your first line of code to building professional-grade software. We don’t just teach you Python syntax; we teach you how to think like a developer.

Course Overview​

Each of the following lessons are considered essential knowlege. Even if you dont plan on becoming a python developer, these foundations will be a good introduction into world of computers.

Basics of Computer Science and Programming Languages​

We start by learning what a computer is and explain basic parts and how they work together to run the code you write.

After that we will shortly touch on learning what is a programming language and what is Python programming language.

Software Installation and Setup​

Making sure we are all on the same page, this section guides you with installation and setup of required software.

It also teaches you basics of command line interface which is essential skill to have as a developer.

Git and GitHub Basics​

Essential tools in everyday developer workflow are Git and GitHub, so we deal with those next as you will be expected to use them throughout the rest of the course.

Python Foundations​

Finally, our Python journey begins, starting with basics and progressing further along with content that builds upon last lessons.

We will use our browser based Python runner to demonstrate examples directly on the web page.

In addition to content, you are expected to go documentation hunting. Lesson are purposely built around basics, and you are to seek specific ways to achieve your goal by yourself. Do not let this discourage you, as real developer work is mostly reading through documentation and finding answers to questions you have.

Each lesson will have additional content that you should be able to solve after reading everything the lesson suggested. These are Quiz Questions, Exercises and Assignment - in that particular order.

Exercises and Assignments are required to solve on your own machine and no interactive code blocks will be provided for these sections.

Exercises follow a specific topic and are test based, while assignments follow a storyline from start of the foundations course, making us rewrite and improve our project little by little each lesson.

How It Works​

This course works by collecting content from public internet to teach a specific lesson. We will introduce a specific topic, give you basic overview, useful context and point you to external resources made by others.

Most lessons will contain questions that you should be able to answer before moving forward. They will also contain exercises and assignments for you to complete on your own machine.

At the end of each section, you will be tasked with creating projects that help you grow understanding of the topics by actually incorporating them and building something useful. This will also serve as your own portfolio with ready made project when you finish the course.

Try not to think of this course of programming as a class in a school that you forget after the exam passes. It's not something you can learn at once and it certainly has its challenges.

Think of it instead as a ball of dough rolling across a flour-covered counter. You are the dough. As you roll forward, flour sticks to you - a little more with every pass. Some of that flour will shake loose again, and that's fine, that's just what rolling dough does. Don't worry if you get to a new recipe and feel like none of the flour stuck. That's normal - it happens to everyone.

The recipes aren't tests of how much flour you've retained so far. They're just the next stretch of counter to roll across, where the flour you need will stick to you again as you go, one pass at a time, with help from Google and The Python Ledger community when you get stuck.

A Note About Course Teaching​

The goal of The Python Ledger is not to be just another tutorial. The goal is to provide you with the why rather then how. This is not a tutorial on a specific subject. This is a course designed to make you think diffrently.

One of the most daunting tasks you will face is changing your mindset. Even a bigger task will be learning the core of the programming. Writing code is just a small part of the experience. Its about:

  • Problem solving
  • Asking the right questions
  • Doing enough reserch

Getting confortable with your skills also means you will likely to expand on those skills. Once you have a solid base it will be simpler to expand on it.

Once you finish this course, you will be able to learn anything diving straight into documentation. Reading documentation is the best way to learn how to use any tooling. But it does take time to master.

Many people feel intimated at first, because of technical jargon and that can be expected. People who write documentation often assume the reader comes from a programming background. This is why we give you plenty of materials to read.

  • The skills you build here will be foundation on which you will build for years to come.
  • Skills you learn here are transferable to other contexts and will play essential role in further learning.

A Note About the Language​

This course is written in English. As you develop your programming skills, you will see that its firmly rooted into English language. This means that the syntax of the language, documentation that you will read and majority of people in community will be in English.

If you are a non-english speaker or English is not your primary language, this fact is to prepare you for your journey and not to discourage you.

A Note About Logging In​

Our website does not store any user data on the servers. Everything is stored in your own browser and no data is ever transmitted to any third party sites.

Logging into the website is completly optional but brings a few benefits.

Benefits of Logging In​

Logging in requires only display name. No passwords, emails or any third party authorization is required. As we mentioned before, all of data is stored in your local browser and can be always downloaded as well as uploaded to continue on another device. You can find those options in your profile page after logging in.

Current benefits is that logging in enables lesson tracking, so you will always know where you left of.

Github Cloud Sync​

During this course, you will be required to create an account on a website called Github. This is a central place where you will store all of your projects and show yourself to the world. We will discuss this topic more in later lessons.

Github provides something called gist. You can think of them as a notes and these can be secret or public. Our platform can make use of secret gist (only available to your account) to store your leason progress remotely, so you dont have to think about downloading and uploading data yourself. Github integration is completly optional.

Integrated Tools​

Embedded Python Runner​

Our platform has a simple Python runner as part of the course, so you will be able to run code examples and play around directly in the webpage. Be aware that you will be required to make assignments and exercises on your own device, making use of your local development workflow.

This is an example of our browser based editor. For now, don't worry about what it says in the code (but you can surely take a guess as python reads like English). Just press the ▶ Execute Program button and see it in action.

Python Sandbox

Memory Graph​

We have integrated some of our examples with external Memory Graph tool that visualizes execution of python code line by line. This can be an excellent way of visualizing what the code is actually doing.

To run the provided code in this tool, just click on the button that says View on Memory Graph. This will open another tab with the code from the lesson already loaded in. You can press Play to see how the code reacts in slow motion, line by line.

What to Expect Next?​

As you move between lessons, each portion is build on the last one so skipping stuff will make it harder to understand later lessons. Try not to do this.

Lets start with getting our head in the right mindset.