Duration of the online course: 65 hours and 36 minutes
4.7
(24)
Build real Python skills fast with a free online course: setup, data types, loops, functions, modules, pip and virtualenv—practice with quizzes and learn confidently.
In this free course, learn about
Python Fundamentals
Development Environments and Package Management
Core Python Techniques
Python Configuration and Advanced Language Features
Object-Oriented Programming
Data Formats, Web Data, and Resource Management
Logging, Security, Testing, and Project Tools
Flask Web Development
Django Web Development
Iterators and Web Application Deployment
HTTP, Automation, and Modern Python Workflow
Data Visualization with Matplotlib
Concurrency and System Utilities
Data Analysis with Pandas
APIs and Python Automation Projects
About the free online course
If you have ever wanted to learn Python but felt intimidated by code, this beginner-friendly course is designed to help you start from zero and gain real confidence. You will begin by setting up Python on Mac or Windows and learning how to verify your installation, so you can avoid the common frustration of misconfigured environments and get straight to coding.
From there, you will build a solid foundation in the core pieces of the language. You will work with text and numbers, understand how Python represents data, and learn how to avoid typical errors beginners face when handling strings. You will practice organizing information using Python’s most important built-in structures, moving from simple collections to key-value data that helps you model real-world problems in a clean, readable way.
As you progress, you will start thinking like a programmer. You will use conditionals to make decisions, apply boolean logic to control behavior, and write loops to handle repetitive tasks efficiently. You will also learn to write functions so your code becomes reusable, easier to test, and easier to maintain as your projects grow.
A key part of learning Python today is learning how to work with the ecosystem around it. This course guides you through importing modules and exploring the standard library, then takes you into practical tooling: editors and IDE options, package management with pip, and the importance of isolated dependencies using virtual environments. You will also see how Anaconda and conda can simplify workflows, especially for data-focused projects.
Finally, you will explore productive techniques such as Jupyter notebooks for experimentation, variable scope rules that explain why some values behave unexpectedly, slicing for efficient data handling, and comprehensions for writing cleaner, more expressive code. Throughout the lessons, quick checks and exercises reinforce what you learn, helping you turn explanations into working skills you can use immediately in your own projects.
Course content
Video class: Python Tutorial for Beginners 1: Install and Setup for Mac and Windows15m
Exercise: What command can you use in the terminal to check the version of Python installed on your system?
Video class: Python Tutorial for Beginners 2: Strings - Working with Textual Data21m
Exercise: What can cause an error when handling strings with single quotes in Python?
Video class: Python Tutorial for Beginners 3: Integers and Floats - Working with Numeric Data11m
Exercise: What is the result of 3 modulo 2 in Python?
Video class: Python Tutorial for Beginners 4: Lists, Tuples, and Sets29m
Exercise: Which Python data type allows for unordered collections with no duplicates?
Video class: Python Tutorial for Beginners 5: Dictionaries - Working with Key-Value Pairs09m
Exercise: Which of the following actions can be performed using dictionary methods in Python?
Video class: Python Tutorial for Beginners 6: Conditionals and Booleans - If, Else, and Elif Statements16m
Exercise: What is the purpose of the 'and' keyword in Python conditionals?
Video class: Python Tutorial for Beginners 7: Loops and Iterations - For/While Loops10m
Exercise: What is the difference between 'break' and 'continue' in loops?
Video class: Python Tutorial for Beginners 8: Functions21m
Exercise: What is a key benefit of using functions in programming as mentioned in the video?
Video class: Python Tutorial for Beginners 9: Import Modules and Exploring The Standard Library21m
Exercise: What does the 'import *' syntax do when importing modules in Python?
Video class: Setting up a Python Development Environment in Sublime Text26m
Exercise: What is one of the primary purposes of the 'Package Control' in Sublime Text?
Video class: Setting up a Python Development Environment in Atom23m
Exercise: What is one advantage of using Atom over Sublime Text for setting up a Python development environment?
Video class: Setting up a Python Development Environment in Eclipse16m
Exercise: What is the purpose of the PyDev plugin in Eclipse IDE for Python development?
Video class: Python Tutorial: pip - An in-depth look at the package management system09m
Exercise: Which command would you use to generate a requirements file listing all installed packages with their version numbers in a format suitable for sharing?
Video class: Python Tutorial: virtualenv and why you should use virtual environments09m
Exercise: What is the primary use of virtual environments in Python?
Video class: Python Tutorial: Anaconda - Installation and Using Conda11m
Exercise: What is a primary benefit of using Anaconda for data science?
Video class: Python Tutorial: How I Manage Multiple Projects, Virtual Environments, and Environment Variables20m
Exercise: What tool is primarily used to create and manage Python virtual environments in the video?
Video class: Jupyter Notebook Tutorial: Introduction, Setup, and Walkthrough30m
Exercise: What is one of the key benefits of using Jupyter notebooks?
Video class: Python Tutorial: Variable Scope - Understanding the LEGB rule and global/nonlocal statements20m
Exercise: How can you modify a global variable within a Python function?
Video class: Python Tutorial: Slicing Lists and Strings10m
Exercise: How do you perform reverse slicing on a list in Python?
Video class: Python Tutorial: Comprehensions - How they work and why you should be using them18m
Exercise: What is a main advantage of using list comprehensions in Python?
Video class: Python Tutorial: Sorting Lists, Tuples, and Objects12m
Exercise: Which function in Python can you use to sort an iterable, allowing you to sort lists, tuples, and other iterable objects?
Video class: Python Tutorial: String Formatting - Advanced Operations for Dicts, Lists, Numbers, and Dates13m
Video class: Python Tutorial: OS Module - Use Underlying Operating System Functionality19m
Video class: Python Tutorial: Datetime Module - How to work with Dates, Times, Timedeltas, and Timezones27m
Video class: Python Tutorial: File Objects - Reading and Writing to Files24m
Exercise: What is the benefit of using a context manager when working with file objects in Python?
Video class: Python Tutorial: Automate Parsing and Renaming of Multiple Files12m
Video class: Python Tutorial: Generate Random Numbers and Data Using the random Module13m
Video class: Python Tutorial: CSV Module - How to Read, Parse, and Write CSV Files16m
Video class: Python Tutorial: Real World Example - Parsing Names From a CSV to an HTML List18m
Exercise: What is the primary purpose of using the CSV module in Python when working with CSV files?
Video class: Python Tutorial: re Module - How to Write and Match Regular Expressions (Regex)53m
Video class: Python Tutorial: Using Try/Except Blocks for Error Handling10m
Video class: Python Tutorial: Duck Typing and Asking Forgiveness, Not Permission (EAFP)15m
Video class: Python Tutorial: How to Set the Path and Switch Between Different Versions/Executables (Windows)24m
Exercise: What is one potential solution if running the 'python' command results in an error saying Python is not recognized as an internal or external command?
Video class: Python Tutorial: How to Set the Path and Switch Between Different Versions/Executables (Mac)30m
Video class: Python Quick Tip: F-Strings - How to Use Them and Advanced String Formatting13m
Video class: Python Tutorial: Generators - How to use them and the benefits you receive11m
Video class: Python Tutorial: Decorators - Dynamically Alter The Functionality Of Your Functions30m
Exercise: What is a common use case for Python decorators?
Video class: Python Tutorial: Decorators With Arguments06m
Video class: Python Tutorial: Namedtuple - When and why should you use namedtuples?07m
Video class: Python OOP Tutorial 1: Classes and Instances15m
Video class: Python OOP Tutorial 2: Class Variables11m
Exercise: In Python, what is the primary difference between instance variables and class variables?
Video class: Python OOP Tutorial 3: classmethods and staticmethods15m
Video class: Python OOP Tutorial 4: Inheritance - Creating Subclasses19m
Video class: Python OOP Tutorial 5: Special (Magic/Dunder) Methods13m
Video class: Python OOP Tutorial 6: Property Decorators - Getters, Setters, and Deleters09m
Exercise: What is the main advantage of using the property decorator in Python classes?
Video class: Python Tutorial: Web Scraping with BeautifulSoup and Requests45m
Video class: Python Tutorial: Working with JSON Data using the json Module20m
Video class: Python Tutorial: Calculate Number of Days, Weeks, or Months to Reach Specific Goals25m
Video class: Python Tutorial: Context Managers - Efficiently Managing Resources20m
Exercise: What is the primary benefit of using context managers in Python?
Video class: Python Tutorial: str() vs repr()07m
Video class: Python SQLite Tutorial: Complete Overview - Creating a Database, Table, and Running Queries29m
Video class: Python Tutorial: Logging Basics - Logging to Files, Setting Levels, and Formatting14m
Video class: Python Tutorial: Logging Advanced - Loggers, Handlers, and Formatters19m
Exercise: What is the primary benefit of using specific loggers in different Python modules instead of the root logger?
Video class: Python Quick Tip: Hiding Passwords and Secret Keys in Environment Variables (Mac)04m
Video class: Python Quick Tip: Hiding Passwords and Secret Keys in Environment Variables (Windows)04m
Video class: Python Tutorial: if __name__ == '__main__'08m
Video class: Python Tutorial: Unit Testing Your Code with the unittest Module39m
Exercise: What is the common naming convention for test modules in Python when using the built-in unit testing module?
Video class: Python Tutorial: Pipenv - Easily Manage Packages and Virtual Environments32m
Video class: Preparing for a Python Interview: 10 Things You Should Know22m
Video class: Python Tutorial: Else Clauses on Loops07m
Video class: Python Tutorial: Image Manipulation with Pillow15m
Exercise: What is a primary advantage of using the Pillow library in Python for image handling?
Video class: Python Tutorial: Custom Sublime Text Build Systems07m
Video class: Python: Ex Machina Easter Egg - Hidden Message within the Code02m
Video class: Python Flask Tutorial: Full-Featured Web App Part 1 - Getting Started17m
Exercise: What is one purpose for using decorators with routes in a Flask application?
Video class: Python Flask Tutorial: Full-Featured Web App Part 2 - Templates31m
Exercise: What problem does using template inheritance solve when building web applications with Flask?
Exercise: Which of the following is NOT a step when setting up templates in a Flask project?
Video class: Python Flask Tutorial: Full-Featured Web App Part 3 - Forms and User Input48m
Exercise: Which Flask extension is most popular for working with forms and provides functionality such as form validation?
Video class: Python Flask Tutorial: Full-Featured Web App Part 4 - Database with Flask-SQLAlchemy29m
Exercise: What is a benefit of using SQLAlchemy as discussed in the text?
Video class: Python Flask Tutorial: Full-Featured Web App Part 5 - Package Structure20m
Exercise: Why is it beneficial to structure a Flask application as a package instead of running it as a module?
Video class: Python Flask Tutorial: Full-Featured Web App Part 6 - User Authentication47m
Exercise: Which function is used to ensure that users are authenticated before accessing specific routes in a Flask application?
Exercise: When building a user registration and login system in Flask, why is it important to hash passwords before storing them in the database?
Video class: Python Flask Tutorial: Full-Featured Web App Part 7 - User Account and Profile Picture42m
Exercise: Which of the following actions can a user perform on the user account page as described in the provided text?
Video class: Python Flask Tutorial: Full-Featured Web App Part 8 - Create, Update, and Delete Posts48m
Exercise: In a Flask application, what is the purpose of the 'login_required' decorator?
Video class: Python Flask Tutorial: Full-Featured Web App Part 9 - Pagination31m
Exercise: In a Flask web application using SQLAlchemy, which method is used to break down a large set of database results into smaller, more manageable pages?
Video class: Python Flask Tutorial: Full-Featured Web App Part 10 - Email and Password Reset42m
Exercise: What is the primary purpose of using the 'itsdangerous' package in the context of secure email token generation?
Exercise: What is the purpose of using the 'it's dangerous' package in a Flask application for password reset functionality?
Video class: Python Flask Tutorial: Full-Featured Web App Part 11 - Blueprints and Configuration42m
Exercise: What is an advantage of using the application factory pattern in Flask?
Video class: Python Flask Tutorial: Full-Featured Web App Part 12 - Custom Error Pages12m
Video class: Python Tutorial: Sets - Set Methods and Operations to Solve Common Problems18m
Video class: Python Django Tutorial: Full-Featured Web App Part 1 - Getting Started15m
Exercise: What is one of the key advantages of using the Django framework for developing web applications?
Exercise: What is one of the primary benefits of using the Django framework for building web applications?
Video class: Python Django Tutorial: Full-Featured Web App Part 2 - Applications and Routes20m
Exercise: In a Django project, what is the purpose of creating multiple apps within a single project?
Video class: Python Django Tutorial: Full-Featured Web App Part 3 - Templates45m
Exercise: What is the purpose of using template inheritance in Django applications?
Video class: Python Django Tutorial: Full-Featured Web App Part 4 - Admin Page09m
Exercise: What is the primary purpose of the Django admin page?
Video class: Python Django Tutorial: Full-Featured Web App Part 5 - Database and Migrations38m
Exercise: What is one of the main advantages of using Django's ORM when working with databases?
Exercise: What is a key advantage of Django's ORM that is highlighted in the text?
Video class: Python Django Tutorial: Full-Featured Web App Part 6 - User Registration45m
Exercise: Which of the following is an approach used to style forms in a Django application using an external library?
Video class: Python Django Tutorial: Full-Featured Web App Part 7 - Login and Logout System31m
Exercise: In implementing an authentication system in a Django application, which method is used to ensure that only logged-in users can access specific pages?
Video class: Python Django Tutorial: Full-Featured Web App Part 8 - User Profile and Picture35m
Exercise: What method can be used in Django to run specific functions automatically after certain actions are performed?
Video class: Python Django Tutorial: Full-Featured Web App Part 9 - Update User Profile26m
Exercise: What does creating a 'model form' in Django allow you to do?
Exercise: What is the role of the profile update form in the Django application?
Video class: Python Django Tutorial: Full-Featured Web App Part 10 - Create, Update, and Delete Posts53m
Exercise: In a Django application, what is a key benefit of using class-based views over function-based views?
Video class: Python Django Tutorial: Full-Featured Web App Part 11 - Pagination37m
Exercise: When implementing pagination in a Django web application, which of the following best describes the purpose of using the Paginator class?
Video class: Python Django Tutorial: Full-Featured Web App Part 12 - Email and Password Reset25m
Exercise: What feature in Django helps ensure that only a designated user can reset their password securely?
Video class: Python Django Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server1h22m
Exercise: Which of the following is a recommended practice when deploying a Django application to a Linux server for production?
Exercise: When deploying a Django application to a web server, why is it recommended to create a limited user instead of using the root user?
Video class: Python Tutorial: Iterators and Iterables - What Are They and How Do They Work?23m
Video class: Python Coding Problem: Creating Your Own Iterators13m
Video class: Python Tutorial: Itertools Module - Iterator Functions for Efficient Looping45m
Video class: Python Flask Tutorial: Deploying Your Application (Option #1) - Deploy to a Linux Server1h15m
Exercise: When deploying a Flask application on your own Linux server, which of the following web server setups is recommended to use with Flask?
Exercise: What is the primary advantage of using a virtual private server for deploying a Flask application?
Video class: Python Flask Tutorial: How to Use a Custom Domain Name for Our Application24m
Exercise: What is the purpose of using 'WhoisGuard' when buying a domain?
Video class: Python Django Tutorial: How to Use a Custom Domain Name for Our Application27m
Video class: Python Flask Tutorial: How to enable HTTPS with a free SSL/TLS Certificate using Let's Encrypt17m
Exercise: What service can be used to secure a website with HTTPS?
Video class: Python Django Tutorial: How to enable HTTPS with a free SSL/TLS Certificate using Let's Encrypt20m
Exercise: What is the primary purpose of using Let's Encrypt in the context of web servers?
Exercise: What is the primary purpose of using Let's Encrypt with a Django website?
Video class: Python Django Tutorial: Full-Featured Web App Part 13 - Using AWS S3 for File Uploads26m
Exercise: What module is used in Django to facilitate interaction with Amazon S3 for file storage?
Video class: Python Django Tutorial: Deploying Your Application (Option #2) - Deploy using Heroku53m
Exercise: What is an important step to take when deploying a Django application to Heroku?
Video class: Python Requests Tutorial: Request Web Pages, Download Images, POST Data, Read JSON, and More25m
Video class: Python Tutorial: Write a Script to Monitor a Website, Send Alert Emails, and Reboot Servers45m
Exercise: What is the purpose of using environment variables in a Python script?
Video class: Python Tutorial: Web Scraping with Requests-HTML56m
Video class: How to Send Emails Using Python - Plain Text, Adding Attachments, HTML Emails, and More31m
Video class: 10 Python Tips and Tricks For Writing Better Code39m
Video class: Python Tutorial: VENV (Mac)14m
Video class: Python Tutorial: VENV (Windows) - How to Use Virtual Environments with the Built-In venv Module17m
Video class: How to Write Python Scripts to Analyze JSON APIs and Sort Results48m
Video class: 5 Common Python Mistakes and How to Fix Them29m
Video class: Python Tutorial: Clarifying the Issues with Mutable Default Arguments16m
Exercise: What is a common issue when using mutable default arguments in Python functions?
Video class: Visual Studio Code (Mac) - Setting up a Python Development Environment and Complete Overview1h15m
Video class: Visual Studio Code (Windows) - Setting up a Python Development Environment and Complete Overview1h15m
Video class: Matplotlib Tutorial (Part 1): Creating and Customizing Our First Plots35m
Exercise: What is the primary use of the Matplotlib library in Python?
Video class: Matplotlib Tutorial (Part 2): Bar Charts and Analyzing Data from CSVs34m
Exercise: Which of the following is a method used in Matplotlib to create a line plot?
Exercise: When creating bar charts in Matplotlib, what method should you use to generate horizontal bar charts?
Video class: Matplotlib Tutorial (Part 3): Pie Charts17m
Exercise: What are pie charts best used for?
Video class: Matplotlib Tutorial (Part 4): Stack Plots14m
Video class: Matplotlib Tutorial (Part 5): Filling Area on Line Plots15m
Video class: Matplotlib Tutorial (Part 6): Histograms16m
Exercise: What is the primary advantage of using histograms over bar charts when visualizing numerical data distributions?
Exercise: What feature differentiates histograms from traditional bar charts when visualizing data?
Video class: Matplotlib Tutorial (Part 7): Scatter Plots21m
Exercise: What is a scatter plot primarily used for in data visualization?
Video class: Matplotlib Tutorial (Part 8): Plotting Time Series Data17m
Exercise: What method is used in Matplotlib to automatically format the date labels on the x-axis for better readability?
Video class: Matplotlib Tutorial (Part 9): Plotting Live Data in Real-Time20m
Exercise: What is the primary purpose of creating real-time plots in Python using Matplotlib?
Video class: Matplotlib Tutorial (Part 10): Subplots21m
Exercise: What is the primary advantage of using the 'subplots()' method in matplotlib?
Exercise: What is the benefit of using the 'subplots' method in Matplotlib?
Video class: Python Tutorial: Calling External Commands Using the Subprocess Module19m
Video class: Python Quick Tip: The Difference Between == and is (Equality vs Identity)08m
Video class: Python Threading Tutorial: Run Code Concurrently Using the Threading Module36m
Video class: Python Multiprocessing Tutorial: Run Code in Parallel Using the Multiprocessing Module44m
Exercise: What is one key advantage of using the multiprocessing module in Python?
Video class: Python Data Science Tutorial: Analyzing the 2019 Stack Overflow Developer Survey51m
Video class: Python Tutorial: Zip Files - Creating and Extracting Zip Archives27m
Video class: Python Pandas Tutorial (Part 1): Getting Started with Data Analysis - Installation and Loading Data23m
Video class: Python Pandas Tutorial (Part 2): DataFrame and Series Basics - Selecting Rows and Columns33m
Exercise: Which of the following statements is true regarding how a Pandas DataFrame is structured?
Video class: Python Pandas Tutorial (Part 3): Indexes - How to Set, Reset, and Use Indexes17m
Video class: Python Pandas Tutorial (Part 4): Filtering - Using Conditionals to Filter Rows and Columns23m
Video class: Python Pandas Tutorial (Part 5): Updating Rows and Columns - Modifying Data Within DataFrames40m
Video class: Python Pandas Tutorial (Part 6): Add/Remove Rows and Columns From DataFrames16m
Exercise: What method would you use to combine multiple columns into a new single column in a pandas DataFrame?
Video class: Python Pandas Tutorial (Part 7): Sorting Data15m
Video class: Python Pandas Tutorial (Part 8): Grouping and Aggregating - Analyzing and Exploring Your Data49m
Video class: Python Pandas Tutorial (Part 9): Cleaning Data - Casting Datatypes and Handling Missing Values31m
Video class: Python Pandas Tutorial (Part 10): Working with Dates and Time Series Data35m
Exercise: What method can you use in pandas to convert a string column to a datetime object?
Video class: Python Pandas Tutorial (Part 11): Reading/Writing Data to Different Sources - Excel, JSON, SQL, Etc32m
Video class: Python Tutorial: Real World Example - Using Patreon API and Pillow to Automate Image Creation52m
Video class: Python YouTube API Tutorial: Getting Started - Creating an API Key and Querying the API20m
Video class: Python YouTube API Tutorial: Calculating the Duration of a Playlist37m
Exercise: What is the primary purpose of using Python and the YouTube API in the discussed script?
Video class: Python YouTube API Tutorial: Sort a Playlist by Most Popular Videos22m
Video class: Python YouTube API Tutorial: Using OAuth to Access User Accounts43m
Video class: Python Tutorial: Simulate the Powerball Lottery Using Python38m
Video class: How to Use ChatGPT as a Powerful Tool for Programming31m
Exercise: What is one way ChatGPT can assist programmers according to the text?
Exercise: Which of the following tasks can ChatGPT assist with in programming?
Exercise: In what ways can ChatGPT assist programmers with coding tasks?
Exercise: What is one of the primary benefits of using AI tools like ChatGPT for programmers as described in the text?
Exercise: What is one way to effectively utilize AI tools like ChatGPT in programming?
Exercise: What is one of the potential uses of ChatGPT for programmers as mentioned in the text?
Exercise: What is a primary benefit of using AI tools like ChatGPT for programmers?
Video class: Python Tutorial: Securely Manage Passwords and API Keys with DotEnv16m
Video class: Automating My Bill Payments with Python and Selenium1h18m
Video class: Python Tkinter Tutorial (Part 1): Getting Started, Elements, Layouts, and Events41m
Course comments: Python for complete beginners
wondwosen Gebermedhin Alaro
enjoying
Digar singh Rautela
amazing teaching style
Kalyani Jadhav
this course is very good for beginners it provides all information about our course and understanding levels is very nice
David Skea
teaching is very easy to understand the way he does it
Nazim Afridi
How can I download it please replay