Presentation of the course Learn to code from scratch with Python
Presentation of the course Learn to code from scratch with Python
Do you want to learn to code? Congratulations: you’re in the right place for it! In this course you will learn to program with Python, the most in-demand language of 2026 for web development, artificial intelligence, automation, and data science. And best of all: it’s totally free.
Why Python?
Python is the perfect language to start programming. Its syntax is clear, readable, and resembles human language. You don’t need to worry about complex technical details at first: Python allows you to focus on learning to think like a programmer.
Everyone knows that a programmer spends more time reading code than writing code, therefore, doing it with a language whose philosophy is based on a principle of clarity and readability makes this task much easier. In addition, Python has conventions, like Python’s PEP8, in which they explain about the Pythonic way in which the code has to be written, this means: although to solve a problem can be written an algorithm of multiple forms you have to always prefer the one with the greatest readability to whoever is reading that code (another person or you, weeks or months after writing it).
But Python is not just for beginners: it’s the language used by Google, Netflix, Instagram, Spotify, and thousands of companies for their production systems. With this course you won’t learn “toy Python”, but professional Python with the same tools used by the best teams in the world.
What makes this course different?
This course teaches you Python as it’s written in 2026, not as it was taught in 2010. Once you have a solid foundation, you’ll learn to:
- Type your code with type hints and validate it with mypy (as done in production)
- Write automated tests with pytest using TDD (Test-Driven Development)
- Format your code automatically with black, isort and validate it with flake8
- Manage Python versions with asdf (like a professional)
- Write clean code and maintainable from the first day
You won’t find code without types or without tests: you’ll learn best practices from the start, not as something optional that “maybe you should do later”.
What can we expect to find in this course
The idea is to explain in each post a different concept, and when you finish reading it you have understood it completely. If the topic is extensive or requires a more detailed explanation, I’ll divide it into several posts so that you don’t spend a lot of time reading it.
Something that will highlight this course over the many you can find online is we’ll put special emphasis on good practices, among others the obligation to write clean code and the use of battery tests that will allow us to know if what we are coding works in the way it’s expected or not. In addition, when you reach a level with which we know the minimum necessary to do exercises related to the subject learned, you can find proposals for exercises and one of the (maybe many) ways to solve them. This is very important: there’s no single way to solve a problem in programming, our solutions to those proposed exercises aren’t the absolute truth; if there are other ways to solve these exercises, respecting the basic principles of clean code and that the written code is as optimized as possible according to the knowledge reached so far will be perfectly valid even if it differs at some point to the proposed solution.
The course roadmap
This course is structured in progressive modules that will take you from zero to a professional level:
- Fundamentals - Installation (asdf), variables, data types, operators
- Control structures - Conditionals, loops, comprehensions
- Functions and modularity - Definition, parameters, scope, decorators
- Code quality - PEP8, black, isort, flake8 (professional level starts here)
- Type hints and mypy - Static typing in Python
- Testing with pytest - TDD, fixtures, coverage
- Data structures - Lists, dictionaries, sets, tuples
- Object-oriented programming - Classes, inheritance, polymorphism
- Error handling - Exceptions, context managers
- Modules and packages - Real project organization
- Input/output - Files, JSON, CSV
- Advanced topics - Iterators, generators, concurrency
Each module includes theory, practical examples, and exercises with proposed solutions.
Why this course is different in 2026
When I wrote the first version of this course in 2018, Python was already important. Today in 2026, Python is the most in-demand language in the market for web development, artificial intelligence, machine learning, automation, and data science.
This course doesn’t teach you “basic” Python that you’ll have to unlearn later. It teaches you modern Python with static typing, testing, and the tools used by professional teams from day one (as soon as you’re ready to understand it).
I want to help you become a great programmer, so I’ll do everything possible to give you the skills that will make recruiters prefer you over other candidates for your dream job.
And if you follow me regularly (if not, what are you waiting for?) you already know what my farewell is: never stop programming! Stay tuned!