Skip to main content

How to Participate in This Course

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.

In this first unit, we’ll learn what is a computer and how it runs the code you write.

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.

We will 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 continue to python foundations.

Python foundations will be done in our browser based python enviroment, giving you a place to experiment and learn right here in your browser.

After the foundations, we will drop down to local development enviroment. We will set up Python locally on your own machine, learn basics of git and Github and learn more about IDEs ( Integrated Development Enviroment ) like VS Code

By the end of this introduction, you should be able to understand what a computer is, how parts of your computer work together and how your code actually runs. Its silly to go straight into code without understanding how that code interacts with your machine.

This introduction section is intentionaly broad in topics, as these will be essential for your future learning.

Lesson Overview

This section explains what the lesson contains and what topics will be covered.

  • Understand how The Python Ledger course works
  • Understand how Foundations course works

How It Works

This course works by collecting content from 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. Some lessons will also contain excercises for you to complete.

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. Its not something you can learn at once and it certanly has its challenges. Think of the experience as a pizza dough you are making. 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 techical 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.

What to Expect Next?

Once you completed this foundation course you should be able to understand how programs are executed on your machine (or any other). You should be able to create and execute your own python programs

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

The Path Ahead

We start with a few introductory but fundemental topics such as your motivation, how to ask for help, and basics of computer science and programming in general.

Next, we’ll move to your local machine, where you’ll learn the "Developer’s Toolbelt": the Command Line, VS Code, and Git. From there, we dive deep into Python.

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 assigments and excercises on your own device, making use of your local development workflow.

This is an example of our browser based editor. For now, don't wory 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

Lets start with getting our head in the right mindset.