Learn Python

Learn Python – Python for Beginners

Learn Python – Python for Beginners – is an 8+ hours full video course for beginners to master Python.

The course is structured with the following resources to improve your learning experience.

  • 17 video lessons teaching you everything you need to know to get started with Python.
  • 34 Jupyter Notebooks with lesson code and projects.
  • A FREE eBook with all the learnings from the lessons.

To optimize your learning the course is structured in 17 lessons. It will start from zero helping you to setup your environment with Jupyter Notebook (Python environment) and run your first program. In your final project you will create a full Machine Learning model from scratch.

All 17 video lessons include the following.

  • An introduction to new Python and programming concepts.
  • Prepared Jupyter Notebooks you can follow along with.
  • A project is introduced in the video lecture along with a Jupyter Notebook.
  • In the end of the video lesson a solution to the project is given.
  • Each lesson is covered in the eBook for easy access.

The best way to learn Python is to program projects tailored to your level. This course comes with 17 projects. One project for each lesson and new concept learned.

At each stage you can find the learnings in the eBook structured along the 17 lessons.

After this course you will have done the following

  • Created 17 projects including Machine Learning.
  • Understand and use variables.
  • Use lists and dictionaries.
  • Program flow with if-statements and loops.
  • How to create functions.
  • Using randomness in a program.
  • Created simple games.
  • Read and process CSV files.
  • Object-Oriented Programming (OOP).
  • Visualization of data.
  • Created projects with NumPy and Pandas.
  • Created a Machine Learning model from scratch.
  • Recursive functions.
  • List comprehension

Get access to the FREE resources

Get the FREE eBook by signing up my mailing list.


Get the Jupyter Notebooks and Install Anaconda

Get all the Jupyter Notebooks from my GitHub.

See details on how to download and run them in Jupyter Notebook in the first video lesson or the eBook.

Or follow the steps below.

  1. Go to Anaconda and download the individual edition. 
  2. It will install Python and Jupyter notebook. That is all you need to get started and it is all free.
  3. Launch Anaconda.
  4. In Anaconda launch Jupyter Notebook.
  5. Navigate in Jupyter Notebook to the downloaded Notebooks from the link (button) above.
    • Alternatively, you can import them.


All the 17 lessons will be released over the next 17 weeks.

Lesson 0 – Learn Python a 8h Full Python Course

Learn Python for Beginner a 8H full course in 17 lessons. Each lesson will introduce concepts and a project with a solution. The course comes with 34 Jupyter Notebooks, installation guide, basically everything you need to get started.

Do you want to Learn Python? Don’t know how to get started? Not sure programming is for you? Don’t know why you should start with Python?

The goal of this session is how to get started learning Python. It will show you how to get started with Anaconda Python.

This will take you on a learning journey with Python. It will show you what aspects of programming are ideal with Python. Learn everything you need to get started with development, Data Science, Machine Learning, Object-Oriented Programming, Creating Fun Games, NumPy and Pandas, Excel Sheet Automation, and much more…

In this first lesson we will learn to take input from the user and print it. Also, how to apply string methods that convert the string to upper case or similar.

Lesson 1 – Variables and Types in Python

In this lesson you will learn about variables and types in Python. Variable and types are needed to make program operations, like adding numbers, understand how programs flow.

The goal of this lesson is to teach you about Python variables and data types.

Variables and types is the foundation of programming. Without an understanding of this, it is difficult to start programming. A variable has a type, in Python, among them integer, float, string, list, and dictionaries. Learn why types in Python are important to master. They enable you to use specific functions, like Math functions, manipulate specific string operations, and more.

In the project we will learn how to make calculations assigning values to variables. The variables will have types and we will see how the types are important to master.

Lesson 2 – Type Conversion in Python

Learn how to convert between types in Python. Type Conversion in Python is important as input to functions need to be correct.

This lesson will teach you how to take input from the user in Python, convert the input to an integer. It is needed to master how to convert a string to integer or float, if you need to make further computations on the input.

The goal of this lesson is to take user input and convert it to an integer or float. It will also teach you how to convert a Python integer (int) to a string.

In the project we will make interactive calculations. We will prompt the user for input, convert the input to integer or float, before further computations are done. This will demonstrate the use of type conversion.

Lesson 3 – Conditional Flow in Python

Learn to use conditional flows in your Python program. This enables you to let the program perform different tasks based on input and calculations.

The goal of this lesson is to teach you how to do if-else statements in Python and master conditional flow in Python. This will enable you to implement a decision tree in Python.

Does it rain? Yes, take an umbrella. No, no need for an umbrella. This is how you make decision based on the context you are exposed to. Conditional flows in Python enables you to simulate the same behavior. This is done with if-statements in Python. These can be extended to if-else or if-elif-else statements to make more advanced flows.

In the project we will implement a decision tree for a car insurance company. This is a great thing to master as a programmer.

Lesson 4 – Randomness and Simple Games

To make a Game fun you need to add randomness to it. Otherwise, it will be predictable. Learn how to use Python random number generator.

The Python Random Module is important to master to make things interesting in many aspect. For one, when creating games. Learn how to use the Python random generator to create an random integers, a random float and more.

The goal of this lesson is to teach you how to use the Python random number generator.

In the project you will create a Math game and the classical Rock-Scissor-Paper game.

Lesson 5 – Python Lists and Jumbled Game

Python lists is the most important data structure to master in Python. Learn the most important Python list operations.

Python lists are so versatile and easy to use. Get a good understanding of the Python list. The Python list can be used for containing any Python types or objects.

The project is to create the classical Jumbled Game. This will use a Python list and demonstrate a use-case of them.

Lesson 6 – For and While Loops in Python

The for and while loops helps you repeat the same task again and again in Python. Learn how to make loops that terminate based on user input.

The difference between for and while loops. The for-loop is used when you know how many repetitions you have. The while-loop is used when you do not know how many repetitions you have before you enter the loop.

The goal of this lesson is to teach you how to use Python for and while loops. The while loop is especially powerful when when there is user input in form of a string.

The project will be to implement the classical Hangman Game.

Lesson 7 – Python Functions and Caesar Cipher

Learn how to structure your code with Python functions. How to master arguments and return statements with Python.

We will learn about Python functions in Jupyter notebook. How to call functions with arguments. Master how to return values in Python functions. Also, why and when to use functions.

The objective of this lesson is to learn about Python function for beginners. It will contain clear examples and use cases of how and why to use functions in Python.

The project for this lesson will be to implement the Caesar Cipher. Both encryption and decryption. This will teach you how to use functions as well as how encryption with Caesar Cipher works.

Lesson 8 – Dictionaries and Game & Frequency Counting

Learn how to use Python Dictionaries with keys and values. In this tutorial you will learn how to use Python Dictionaries to count occurrences of unknown types.

Master one of the most important data structures in Python: The dictionary (dict). Learn how to add key and value pairs in a dictionary. How you can add new items to a dictionary. Also, learn how to iterate over a Python Dictionary with Key-Value pairs.

The project will be to implement a Guess a Capital Game and how to make frequency count using Python Dictionaries.

Lesson 9 – CSV files with DictReader

Learn how to read CSV files with DictReader in Python. This will read the CSV content into a Python list of dictionaries representing one row each with key-value pairs.

In this lesson you will learn what is a CSV file, how do you read a CSV file in a convenient way in Python. Also how to iterate over the CSV content with a for-loop in Python.

This can all be done simply by using the CSV library with the DictReader.

In the project you will read a huge CSV file and make some nice data processing utilizing what you have just learned.

Lesson 10 – Recursive Functions & Tower of Hanoi

Learn what Recursive Functions are and why they are powerful. The classical example is solving the Tower of Hanoi, which solves a complex problem in a simple manner with recursion.

In this lesson we will first learn what recursive functions are, why they are useful and gives you great power. We will break recursive functions down with a simple counting function. Then learn what the Fibonacci numbers are and how to implement them recursive.

In the project we will learn the complex mathematical game: Tower of Hanoi. It is a seemingly complex problem to solve, but with recursion it becomes easy. Tower of Hanoi is the best example to learn what recursion is and how it can help crafting readable code.

Lesson 11 – List Comprehension

List Comprehension in Python is something you need to master. When you know how to use them, you will write simpler code.

In this lesson we will learn what List Comprehension is and how to use it. We will start off with a simple example and explore the similar code without list comprehension. Then we will make list comprehension with calculations, with if-statements, if-else-statements, and list comprehension from another list. We will also learn how to make Dict Comprehension.

In the project we will re-do some of our previous code with list comprehension. Specifically, we will make the Caesar Cipher encryption and decryption with List Comprehension. Also, we will make Frequency count with Dict Comprehension.

Lesson 12 – Object-Oriented Programming

Object-Oriented Programming (OOP) is the best tool to implement complex problems in a simple way.

In this lesson we will introduce Object-Oriented Programming (OOP) with a concrete example of implementing a Card Game. This will teach you Python classes and objects. More precisely, we will implement three classes (Card, Deck, and Hand) from a description of a diagram. This will include implementing string representation of the objects, passing parameters to class instance variables, comparison of objects, adding custom methods.

The project will be implementing a Card Game using the classes we will have implemented.

Lesson 13 – Matplotlib Visualization

When working with data you need to be able to visualize it. This is easy with the Python library Matplotlib.

In this lesson we will learn how to visualize data using Matplotlib in Python. We will learn how to plot lines, make scatter plots, and histograms. Also, we will learn how to use the Matplotlib library both the functional and object-oriented way. This is important to understand to utilize the library efficiently. Wee will also learn how to set title and labels and color scatter plots.

In the project we will investigate if there is a connection between Horsepower and Torque in a long CSV file full of cars. This investigation will be done visually with Matplotlib in a color full scatter plot. Secondly, we ill use a histogram to investigate the value the roll of two dice.

Lesson 14 – Linear Regression with NumPy

We will learn about Machine Learning and use a Linear Regression model to fit it to a real-world dataset.

In this lesson we will learn what the difference between classical computing and Machine Learning is. How Machine Learning works, as well as, the types of Machine Learning. We will get a brief introduction to the NumPy library, which is useful for Machine Learning. Finally, we will learn how to use a Linear Regression model from SKlearn, to predict from a dataset.

In the project we will use real-world data and see how good the Linear Regression model can predict a connection between Horsepower and Torque.

Lesson 15 – Pandas and Excel Automation

Learn how to use Pandas to create Excel sheets with charts – all from Python.

In this lesson we will get a short introduction to Pandas data structure DataFrames, which are very similar to Excel sheet. Among the things we will master with Pandas, is filtering and GroupBy operations. We will learn how to read data properly from an CSV file into Pandas DataFrame. From the DataFrame we will export it to an Excel sheet and insert charts of the data.

In the project we will read a sales dataset and make some nice Excel sheets with charts representing the sales reps.

Lesson 16 – Reinforcement Learning from Scratch

Create your own Machine Learning model from Scratch without using any libraries. That is, you will learn how the Reinforcement Learning Machine Learning algorithm works and create it yourself from scratch in Python.

In this last lesson you will make your Cap Stone project. Creating your own Machine Learning model from scratch. First we will learn what the Reinforcement model is, how it works, and a description of the algorithm.

Then we will look at the problem we want to solve and use Object-Oriented Programming (OOP) to create a Field class where our algorithm will exist in. The field will contain actions that the model can make, and reward it according to the behavior we want.

Then we will continue to create a naive solution to the problem, to see how well it performs. This will be a baseline for the implementation of our Reinforcement Learning algorithm.

Then we continue to implement a Q-table, the learning part of the algorithm. Finally, we will see how it performs compared to the naive solution. And I will promise you, you will be impressed how little code is needed to make such an efficient algorithm.

Next steps?

You liked this journey and you want to continue to improve your programming skills in Python.

There are many options.

Check out other FREE courses on this site (see the menu).

Also, if you want to get really serious. Check out the payed courses as well.