Master the Fundamentals of Python

Master the fundamentals of Python with 300+ pages of text, 25+ hours of video content, 170 exercises, multiple projects, and detailed solutions. 

Get Master the Fundamentals of Python Now!

Master the Fundamentals of Python

Gain a deep understanding of the Python programming language by learning all the precise details and best practices from expert instructor Ted Petrou.

Comprehensive Text

This course contains 300+ engaging video lessons along with 300+ pages of formal text covering best practices for using Python. Each topic is presented so that you too can become an expert.

Exercises and Projects

Reading texts or listening to lectures give the false impression of learning. To demonstrate learning, you must be able to complete tasks on your own. Master the Fundamentals of Python comes with 170 exercises and detailed solutions along with several longer and more complex projects.

Certification Exam

After covering all of the material in the course, you will be given a challenging certification exam to prove your mastery of the material. Passing this exam awards you a certificate of completion.

Master the Fundamentals of Python Contents



You will be given detailed instructions on how to install python onto your machine and set up an environment to run all the code within the book.

Jupyter Notebooks

We will be using the excellent Jupyter Notebook to run most of the code. It provides an interactive coding environment to quickly execute code, get feedback, and make notes. You'll be provided a detailed tutorial of how to use Jupyter Notebooks.

Basic Types

Every value in Python is an object and all objects have a type. We begin by learning how to create 'basic' types such as booleans, integers, and floats.


The simplest and most straightforward actions we can perform with these basic types are with operators. Most operators are one or two non-alphanumeric symbols that use two values (arguments) to produce a new value. You will learn about arithmetic, comparison, and boolean operators.

Variable Names

In order to reuse the result of an operation, we need to save the result. In python, we use assignment statements to assign this result to a name. We refer to these names as variables or variable names.


Strings are a more complex type of object and consist of a sequence of characters. Strings are the first types of objects where we use methods to harness their power. We also learn about how to select subsets of strings using slice notation.


Lists are sequences that may contain any number of other objects of any type. They are an important data structure used frequently in most python programs and are mutable (able to be changed).

Ranges and Constructors

Ranges are the first types of objects covered that must be created with its constructor. You will learn how to create range objects and then learn how to create all of the previous types covered using their own constructor.

Control Flow

Normal flow of python programs occurs by executing the very next line of code under the current line beginning at the top. We can change this normal flow with if/else statements and for/while loops. You will learn from practical examples, such as simulating a game of Craps.


Functions allow us to reuse an entire block of code by labeling it with a name and help avoid repeating the same code over and over. You will learn how to use several built-in functions as well as how to create user-defined functions.  

Tuples, Sets, and Dictionaries

Python has several flexible built-in data structures that give us tremendous power to complete many tasks without the need to build them ourselves. Tuples, sets, and dictionaries are all different containers of data that we will explore.

Python Modules

Up until this part of the course, all of our Python commands have come from parts of the language that are built-in and immediately available to the interpreter. The standard library, which comes shipped with every Python installation, has many modules that contain more objects to enhance our programs. You will learn how to access these other objects with import statements. You will also learn how to develop your own modules.

Errors and Exceptions

Exceptions are raised during a program whenever execution of the program is unable to continue. You will learn about the built-in exceptions, how they are raised, how to catch them, and how to raise them in your own programs.


Reading and writing data to an external file is a less-frequent but still important command. You will learn how to read and write files with the built-in `open` function.


Although you can write complex programs by only using the built-in types, you can write much more effective programs by defining classes to create your own types.

Intelligent Texas Holdem Poker Application

All components of the course will be required to build an intelligent Texas Holdem Poker Application. You will define several Python classes to handle a card, deck, hand, five-card poker evaluation, computer and human players, and logic for playing the game.

Intelligent Texas Holdem Poker Web Application

The Texas Holdem Poker project will be converted to a web application using the popular Flask framework. You will get access to all HTML/CSS, JavaScript, and Python code.

This is incredible!

I can't wait to start mastering Python with exercises and projects!

About the Instructor

This course is taught by Ted Petrou, an expert at Python, data exploration and machine learning. He is the author of multiple highly rated texts including:

Ted has taught hundreds of students Python and data science during in-person classroom settings. He sees first hand exactly where students struggle and continually upgrades his material to minimize these struggles by providing a simple and direct path forward.

Ted is one of the foremost authorities on using the pandas library to do data analysis. His blog posts have totaled well over 1 million views. He is also a prolific contributor on Stack Overflow having answered over 400 questions. He is an enthusiastic instructor and dedicates his time to helping students at their desk during exercises to ensure understanding.

Ted demonstrates his deep fluency in Python by developing open source Python libraries and is the creator of dexplo, a suite of data science packages that include bar_chart_race, dexplot, jupyter_to_medium, and dataframe_image.

Ted holds a Master's degree in Statistics from Rice University.


Download the table of contents

Download a copy of the table of contents of Master the Fundamentals of Python to see every chapter and section title.

Video Lessons

Over 300 video lessons of each section of the course help walk you through all of the content. These are interactive videos where you will code along with Ted. You'll get the chance to reproduce the same code in the lessons and explore on your own. See the sample video below, "Selecting List Items", from the chapter on lists.


What your purchase includes

You are purchasing a digital download along with access to all videos currently produced. The digital download includes the following:

  • Dozens of Jupyter Notebooks containing all the written material, code, exercises, and solutions
  • 300+ page PDF of all the written material
  • 25+ hours of video lectures (300+ individual lectures)
  • 170 exercises with solutions


Master the Fundamentals of Python does not assume any prior programming experience. The only thing you need to get started is a modern computer that runs a Windows, macOS, or Linux operating system.

Ready to begin your Python journey?


50% Complete

Two Step

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.