
Learn Python in 30 days with 30 daily 15-minute lessons, including rest days every four lessons, built for hands-on practice, and faster pacing; complete exercises and engage with peer help.
Install Python on Mac, verify installation, and run commands in the terminal. Emphasize open-minded learning by asking questions, and use VS Code and IPython to write and run Python scripts.
Install python on Windows, add to path, verify with python --version, and run hello world in interpreter or IPython; then set up VS Code to edit and run .py files.
learn how python variables store values, assign and reassign with the equals operator, and inspect objects with id, type, and is; understand naming conventions and common errors like undefined variables.
Explore the forgetting curve and the benefits of spaced repetition to strengthen long-term learning. Then master Python strings, including quotes, escape characters, zero-based and negative indexing, variables, and printing.
Take a rest day to consolidate learning, review exercises to internalize Python basics, and apply three keys to effective learning: ask questions, stay consistent, and use spaced repetition.
Explore object oriented programming in Python, where everything is an object with data as attributes and methods, and learn to inspect types and call string methods with dot notation.
Learn how to perform string concatenation in Python using plus, format, and f-strings, handle int to string conversion, and apply formatting for alignment and tables.
Learn to get user input with Python, handle integers and floats, and perform basic operators. Convert inputs to numbers and document code with comments.
Learn how booleans and conditionals drive Python programs using if, elif, else, and boolean operators (and, or, not), with examples of true/false and shorthand cases.
Take a rest day to revisit lessons, complete missed exercises, and ask questions to reinforce learning. Practice active recall and spaced repetition to beat forgetting curve through real world action.
Learn to define and call Python functions, use optional and default arguments, return values, and accept arbitrary arguments with *args and **kwargs, all within the dry principle.
Learn Python lists—from creation and indexing to slicing, delete, and common methods like append, insert, pop, remove, and copy, plus range and built-ins such as len, min, max, sum.
Learn Python loops: for and while loops, with range and iterables; use in, continue, and break to control flow, balancing practice with rest to prevent burnout.
Discover how to work with dictionaries in Python, create and access key value pairs, handle missing keys with get, update and delete entries, and iterate over items.
On day 15, rest day, internalize lessons, revisit topics, and apply exercises as three keys to learning; practice active recall and spaced repetition to move memory from short-term to long-term.
Explore tuples and sets in Python, mastering immutable tuples, zero-based indexing, packing and unpacking, including single value tuples, and applying set methods add, union, and intersection.
Master object oriented programming in Python by learning what classes are, how to create instances, and how types and classes relate, guided by Python documentation and the blueprint analogy.
Learn how object-oriented programming uses class blueprints, class and instance attributes, and methods, including init and magic dunder methods, to store state and provide functionality.
Open minded thinking helps adopt better options and improve decision making. Learn inheritance with a parent class and a child class, using init and super to initialize and access methods.
Celebrate day 20 by maintaining consistency and building momentum, review lessons, and use spaced repetition and active recall to crush the forgetting curve while keeping a beginner's mind.
Master modules and the Python standard library to import your own files, avoid reinventing the wheel, and use functions like time.sleep with a main guard and pip.
Define a quiz class with topic id, compiled data, and questions, shuffle them, and run the quiz to score up to ten questions.
Finalize the Python learning app project by computing a final score, updating the past course JSON with the new topic ID, and offering score-based feedback in a loop for replay.
Celebrate finishing the course and embrace endings as new beginnings, recognizing that delayed gratification brings rewards and that even masters keep learning on the Python journey.
What is this course about?
This course was created to show you that bite-size lessons can take you a long way! Most people overestimate what they can do in a day but grossly underestimate what they can do in 30 days.
Python is one of the most popular and useful languages out there. In this class, you'll learn the fundamentals you need to write your own Python programs. The course is designed to be taken over the course of 30 days, in bitesize sessions of around 15 minutes each day. You’ll learn the concepts you need to know to start coding your own useful programs and set the strong foundation you need to move on to any programming field you might be interested.
Python is extremely flexible and it can be used in many fields, some of them are Artificial Intelligence, Machine Learning, Data Analytics, Data Visualization, Web Development, Programming Applications, Finance, and even Game Development! This course will start with concepts as simple as Python variables and go all the way to a final project where you will code your own Python command-line application that will help you connect the dots on all the concepts you learned throughout the course.
Who is this course for?
Learning how to code could be valuable to everyone even if you're not looking to use it professionally. It opens up your mind to understand what goes on in the digital world that surrounds us nowadays. This course is right for you if any of the following statements resonate with you:
I’m completely new to coding. Where do I type my very first line of code?
I learned to code in the past but I’m looking for a refresher.
I’m looking to demystify coding and get a sense of what it can be used for.
I want to set a strong foundation to get a job related to coding down the line.
I want to stretch my brain by learning something new.
How will I learn?
The course is designed to be taken through 15-minute bitesize lessons each day for 30 days, and it focuses on learning smart and not hard. You can go through it at your own pace, so if you'd like to do two lessons each day and finish the course in 15 days that is fine, and if you'd like to take it more slowly that is completely fine too.
We’ll leverage evidence-based learning techniques such as Active Recall and Spaced Repetition to enhance your learning and commit the knowledge you gain to long-term memory. We have hands-on daily exercises that will help you internalize what you’re learning and even rest days to recover and review. All in all, this is how it goes:
15 minutes/day for 30 days (you choose your pace)
Follow along with each lesson as we go
Daily exercises to implement new learning
Rest and recovery days after every 4 lessons
Final project to connect the dots
What type of software will I use?
We'll kick off the course by downloading and installing the necessary software:
Python 3
iPython - an enhanced Python interpreter
Visual Studio Code - a popular and powerful code editor
Course Contents:
Installation
Variables, numbers, strings, string concatenation, indexing
Conditionals, code blocks, For loops, While loops
Lists, Ranges, Dictionaries, Tuples, and Sets
Functions
User input
Intro to Object-Oriented Programming (OOP)
Classes - definition, attributes, methods, inheritance
Files
Exception Handling
Modules and Python Standard Library
Hands-on Project - Python Learning Application
Final Project:
The final project is to create your own Python Learning Application that will quiz you on any topic you’re learning and keep scores to asses what you know.
The app will read JSON files with questions, topics, and scores and quiz the user based on the contents. It will also save new scores. The application will run in the Command Line and will cover all the concepts learned throughout the 30-day course.
The purpose of the app is to allow you to create your own questions on any topic you want to study so you can quiz yourself and engage in active recall to help you remember what you learn and assess which topics need more attention based on your scores. To complete the project, you can follow these steps:
Watch lessons from day 24 to day 29.
Download JSON files from the Github website (link in lesson 24).
Read the README file from GitHub.
Follow along with lessons 24 through 29 or give it a shot on your own by seeing how the app should work based on the GitHub README file.