Programming Languages


The Python Mega Course: Build 10 Real World Applications

A complete practical Python course for both beginners & intermediates! Master Python 3 by making 10 amazing Python apps.

4.53 (45857 reviews)



25.5 hours


Jan 2021

Last Update
Regular Price

What you will learn

Go from a total beginner to a confident Python programmer

Create 10 real-world Python programs (no toy programs)

Strengthen your skills with bonus practice activities throughout the course

Create an English Thesaurus app that returns definitions of English words

Create a personal website entirely in Python

Create a mobile app that improves your mood

Create a portfolio website and publish it on a real server

Create a desktop app for storing data for books

Create a webcam app that detects moving objects

Create a web scraper that extracts real-estate data

Create a data visualization app

Create a database app

Create a geocoding web app

Send automated emails

Analyze and visualize data

Use Python to schedule programs based on computer events.

Learn OOP (Object-Oriented Programming)

Learn GUIs (Graphical-User Interfaces)


The Python Mega Course is the most practical course you will find on the web today. In this course, rather than practicing rote memorization, students are actively problem-solving towards tangible goals. The purpose of this course is to get you from zero and help you become a Python programmer. We will achieve that by building actual desktop programs, developing interactive web applications, automate tasks, and even create mobile apps entirely in Python 3.

There will be 10 real-world applications that we will build together. These are:

  • English Thesaurus - a program where users can get definitions of words.

  • Volcano Web Map - an interactive web map of volcano locations throughout the USA.

  • Personal Website with Python - a live website built entirely in Python.

  • Bookshop Database App - a desktop GUI app with an SQL database backend.

  • Feel Good Mobile App - an Android & iOS app.

  • Webcam Motion Detector - starts the webcam and detects moving objects.

  • Real Estate Web Scraper - a program that extracts data from webpages.

  • Interactive Data Dashboard - a web-based, fully interactive graph.

  • Database Web App - a web app that collects data & sends emails.

  • Geocoder Web App - a web app that converts addresses to coordinates.

Before we start building the 10 apps, you will first learn the fundamentals of Python programming. If you know Python basics already, you can jump right in with the first app. By building the 10 apps, you will master Python and gain the skills to independently create Python programs. You can also use any of the 10 apps for your portfolio.

You will code the apps, guided step-by-step by straightforward video explanations, and continuous support from the course instructor. If you get stuck, you can ask questions at any time in the Q&A, and the instructor or the teaching assistant will jump in and help you with your questions.

By buying the course, you will gain lifetime access to all of its videos, coding exercises, quizzes, code notebooks, cheat sheets, and the Q&A forum inside the course. On top of that, you are covered by the Udemy 30-day money-back guarantee, so you can easily return the course if you don't like it.

To consider yourself a professional programmer, you need to know how to write professional programs. There's no other course that teaches you that, so join thousands of other students who have successfully applied their Python skills in the real world. Sign up and start learning the fantastic Python programming language today!

Here's a typical review from students who have taken the course:

"Thanks for this course. I wanted to take up this opportunity to thank you. This course I took more than a year ago after going through several articles, guides, ebooks, and courses to get started with programming and didn't work out for me, and even though I couldn't complete this course, the initial chapters were more than enough to help me write my first working code for one of my customers (large service provider in the country). After that, I have written software's in other languages too. So thank you very much again. And I think this is the best way to teach programming by actually applying the principles in writing real world programs. As once we get the holistic view & confidence of programs that work in real world, then it becomes easier to understand programming in detail."- Manoj Raju

Frequently Asked Questions

Will I be able to learn Python and find a job after completing this course?

I have heard of quite a few success stories where students have rigorously followed the course and have found a job afterward. However, whether you will be able to learn Python and be job-ready heavily depends on you.

If you merely watch the videos, you will hardly learn anything without trying things on your own computer. Instead, try the code on your computer, change the code, run it, improve it further, rerun it, fix the possible errors, try making a similar app, repeat, ask questions in the Q&A when you get stuck, and try to solve all the exercises in the course. That way, you will undoubtedly learn how to program with Python and find a job.

How much time will I need to complete the course?

That depends on two factors:

(1) Your background: Someone coming from a math or computer science background may be able to complete the course in a shorter time compared to someone coming from a social science background, for example.

(2) The effort you put in: If you simply watch the videos, you may finish the course in two days. However, merely watching the videos is not enough. You need to experiment with the code you see in the videos. The more you experiment with it, the better you become.

Depending on the two factors I mentioned above, students spend from one week to three months to complete the course, most spending one month.

I don't know anything about programming. Will I still be able to learn Python?

This course assumes you have no previous knowledge of programming. Whenever a programming term is mentioned in the class (e.g., a variable), that term is explained thoroughly, so you not only understand how to use that particular term in Python, you also understand what that term means in programming.

Will I get support if I get stuck?

Yes. Feel free to drop a question in the Q&A, and I, or my teaching assistant, will answer your questions within the same day.

Does this course cover Python 2 or Python 3?

Python 3

What IDE/editor is used in the course?

We use Visual Studio Code in the course. However, you can use your favorite IDE. PyCharm, Atom, and even IDLE will work correctly.

Does the course expire?

No. Once you buy the course, it's yours. We update the content regularly, and all the updates come to you for free in the one-time purchase you make.


The Python Mega Course: Build 10 Real World Applications
The Python Mega Course: Build 10 Real World Applications
The Python Mega Course: Build 10 Real World Applications
The Python Mega Course: Build 10 Real World Applications



Course Introduction

How to Contact Your Instructor

Preview of the 10 Apps

The Tools You Need

Installing Python 3 and an IDE (Windows, Mac, and Linux)

The Basics: Small Program

Your First Python Code

Your First Python Program



The Basics: Data Types


Your First Python Exercise (E)

Assign Multiple Values and Print (E)

Simple Types: Integers, Strings, and Floats

Create Integers, Strings, and Floats (E)

Sum Up Numbers (E)

List Types


Create List (E)

Create Complex List (E)

Type Attributes

Did You Know?

How to Find Out What Code You Need

Bonus: Steps of Learning Python

Calculate Maximum (E)

Count Values (E)

Modify String (E)

Dictionary Types

Did You Know?

Create Dictionary (E)

Tuple Types

Create Tuple (E)

Create Complex Dictionary (E)

How to Use Datatypes in the Real World?

Did You Know?

Summary: Integers, Floats, Lists, Dictionaries, Tuples, dir, help

The Basics: Operations with Data Types

Python Shell and Terminal Tip

More Operations with Lists

Append Item to List (E)

Remove Item from List (E)

Remove Three Items From List (E)

Accessing List Items

Access Item (E)

Access Items (E)

Access and Append (E)

Accessing List Slices

Accessing Items and Slices with Negative Indexes

Accessing Characters and Slices in Strings

Accessing and Slicing Lists and Strings

Slicing a List, 2nd to 4th (E)

Slicing a List, First Three (E)

Slicing a List, Last Three (E)

Accessing Items in Dictionaries

Summary: Positive/Negative Indexes, Slicing

The Basics: Functions and Conditionals

Creating Your Own Functions

Lengther (E)

Square Area (E)

Volume Converter (E)

Print or Return?

Intro to Conditionals

If Conditional Example

Bonus Code: Using "and" and "or" in a Conditional

Conditional Explained Line by Line

Conditionals Quiz

More on Conditionals

Password Controller (E)

Warm or Cold (E)

Elif Conditionals

White Space

Hot, Warm, Cold (E)

Summary: Functions and Conditionals

The Basics: Processing User Input

User Input

String Formatting

String Formatting with Multiple Variables

String Formatting (E)

String Formatting and Uppercase (E)

Summary: Processing User Input

The Basics: Loops

For Loops: How and Why

Loop Over Colors (E)

Loop Over Big Colors (E)

Loop Over Integer Colors (E)

Loop Over Int and Big Colors (E)

For Loop Over a Function

Did You Know?

Looping Through a Dictionary

Bonus Code: Dictionary Loop and String Formatting

Loop Over Dictionary and Format (E)

Loop Over Dictionary and Replace (E)

While Loops: How and Why

While Loop Example with User Input

While Loops

While Loops with Break and Continue

Summary: Loops

Putting the Pieces Together: Building a Program

Problem Statement

Approaching the Problem

Building the Maker Function

Constructing the Loop

Making the Output User-Friendly

List Comprehensions

Simple List Comprehension

List Comprehension with If Conditional

Only Numbers (E)

Only Positive Numbers (E)

List Comprehension with If-Else Conditional

Zeros Instead (E)

Convert and Sum Up (E)

Summary: List Comprehensions

More on Functions

Functions with Multiple Arguments

Did You Know?

Function with Multiple Parameters (E)

Default and Non-default Parameters and Keyword and Non-keyword Arguments

Functions with an Arbitrary Number of Non-keyword Arguments

Average Function (E)

Indefinite Number of Strings Processed (E)

Functions with an Arbitrary Number of Keyword Arguments

Indefinite Number of Keyword Arguments (E)

Summary: More on Functions

File Processing

The Concept of Processing Files in Python

Reading Text From a File

Read Text From File and Print (E)

File Cursor

Closing a File

Reading and Processing Text (E)

File Processing Inside Function (E)

Opening Files Using "with"

Different Filepaths

Writing Text to a File

Write Snail (E)

Write First 90 (E)

Appending Text to an Existing File

Read and Append (E)

Copy n-times (E)

Summary: File Processing

Imported Modules

Builtin Modules

Standard Python Modules

Third-Party Modules

Third-Party Module Example

Summary: Imported Modules

Application 1: Build an Interactive English Dictionary


Interactive English Dictionary - How The Output Will Look Like

The Data Source

Loading JSON Data

Returning the Definition of a Word

Taking Into Account Bad Words

Implementing Case Sensitivity

Similarity Ratio Between Two Words

Best Matches out of a List of Words

Recommending the Best Match

Confirmation from the User

Optimizing the Final Output

Version 1.1 (E)

Version 1.1: Code

Version 1.2 (E)

Version 1.2: Code

Project Exercise with Python and MySQL: Interactive English Dictionary

Intro to the App

Making the App

More SQL Statements

Data Analysis with Pandas

What is Pandas?

Installing Pandas

Getting Started with Pandas

Getting Started with Jupyter Notebooks

Loading CSV Files

Exercise: Loading JSON Files


Note on Loading Excel Files

Loading Excel Files

Loading TXT Files

Set Header Row

Set Column Names

Set Index Column

Indexing and Slicing

Deleting Columns and Rows

Updating and Adding new Columns and Rows

Note on Nominatim

Example: Geocoding Addresses with Pandas and Geopy


What is Numpy?

Installing OpenCV

Convert Images to Numpy Arrays

Indexing, Slicing, and Iterating Numpy Arrays

Stacking and Splitting Numpy Arrays

Application 2: Create Webmaps with Python and Folium

Web Map - How The Output Will Look Like

The Basemap


Adding Points

Adding Multiple Points

Adding Points from Files

Popup Windows on Map

HTML on Popups

Color Points

Add and Style Points (Practice)

Tip: Add and Style Points


GeoJson Data

Adding a GeoJson Polygon Layer

Choropleth Map

Layer Control Panel

Fixing Programming Errors

Syntax Errors

Runtime Errors


How to Fix Difficult Errors

Good Programming Questions

Error Handling

Application 3: Build a Website Blocker

Website Blocker - How The Output Will Look Like

Application Architecture

Setting up the Script

Setting up the Infinite Loop

Implementing the First Part

Implementing the Second Part

The any() function

Scheduling the Python Program on Windows

Scheduling the Python Program on Mac and Linux

Scheduling a Python Program on a Server

Application 4: Build a Personal Website with Python and Flask

Personal Website - How The Output Will Look Like

Your First Website

HTML Templates

Navigation Menu

Note on Browser Caching

CSS Styling

Creating a Python Virtual Environment

How to Install Git

Deploying the Website to a Live Server

Maintaining the Live Website



Graphical User Interfaces with Tkinter

Introduction to Tkinter

Setting up a GUI with Widgets

Connecting GUI Widgets with Callback Functions

Create a Multi-widget GUI (Practice)


Interacting with Databases

Introduction to "Python with Databases"

Connecting and Inserting Data to SQLite via Python

Selecting, Inserting, Deleting, and Updating SQLite Records

Introduction to PostgreSQL Psycopg2

Selecting, Inserting, Deleting, and Updating PostgreSQL Records

Querying data from a MySQL database

Application 5: Build a Desktop Database Application

Desktop Database App - How The Output Will Look Like

User Interface Design

Frontend Interface


Connecting the Frontend to the Backend, Part 1

Connecting the Frontend to the Backend, Part 2

Fixing the Bug (Practice)


Creating a Standalone Executable Version of the Program

Object Oriented Programming

Object Oriented Programming Explained

Turning this Application into OOP Style, Part 1

Turning this Application into OOP Style, Part 2

Creating a Bank Account Object


OOP Glossary

GUI in OOP Design (Practice)


Python for Image and Video Processing with OpenCV


Installing the Library

Loading, Displaying, Resizing, and Writing Images

Batch Image Resizing (Practice)


Solution with Explanations

Face Detection

Capturing Video

Application 6: Build a Webcam Motion Detector

Webcam Motion Detector - How The Output Will Look Like

Detecting Webcam Objects

Capturing Motion Time

Interactive Data Visualization with Bokeh

Introduction to Bokeh

Installing Bokeh

Your First Bokeh Plot

Plotting Triangles and Circle Glyphs (Practice)


Using Bokeh with Pandas

Plotting Education Data (Practice)


Note on Loading Excel Files

Plot Properties

Plotting Weather Data (Practice)


Visual Attributes

Time-series Plots

More Visualization Examples with Bokeh

Plotting Time Intervals of the Motion Detector

Hover Tool Implementation

Webscraping with Python Beautiful Soup

Section Introduction

The Concept Behind Webscraping

Request Headers

Webscraping Example

Application 7: Scrape Real Estate Property Data from the Web

Scraped Website Data - How The Output Will Look Like

Request Headers

Loading the Webpage in Python

Extracting "div" Tags

Extracting Addresses and Property Details

Extracting Elements without Unique Identifiers

Saving the Extracted Data in CSV Files

Crawling Through Webpages

Application 8: Build a Web-based Financial Graph

Web-based Financial Graph - How The Output Will Look Like

Downloading Datasets with Python

Stock Market Data

Stock Market Data Candlestick Charts

Candlestick Charts with Bokeh Quadrants

Candlestick Charts with Bokeh Rectangles

Candlestick Segments

Stylizing the Chart

The Concept Behind Embedding Bokeh Charts in a Flask Webpage


Embedding the Bokeh Chart in a Webpage

Deploying the Chart Website to a Live Server

Application 9: Build a Data Collector Web App with PostGreSQL and Flask

Data Collector Web App - How The Output Will Look Like

PostGreSQL Database Web App with Flask: Steps

Frontend: HTML Part

Frontend: CSS Part

Backend: Getting User Input

Backend: The PostGreSQL Database Model

Backend: Storing User Data to the Database

Backend: Emailing Database Values Back to the User

Backend: Sending Statistics to Users

Deploying the Web Application to a Live Server

Bonus Lecture: Implementing Download and Upload in your Web App

Application 10: Project Exercise on Building a Geocoder Web Service

Student Project - How The Output Should Look Like

Solution, Part 1

Solution, Part 2

End of the Course

Legacy Exercises

Variables (Practice)

Get Variable Value (Practice)

Math Operators (Practice)

Simple Sum (Practice)

Lists (Practice)

Indexing (Practice)

Slicing (Practice)

More on Indexing (Practice)

More on Slicing (Practice)

List Indexing (Practice)

Append to List (Practice)

Remove from List (Practice)

Append from List to List (Practice)

Concatenate List Items (Practice)

Create Dictionary (Practice)

Create Function (Practice)

Exponential Function (Practice)

Sum up Function (Practice)

Function Output (Practice)

Function with Default Parameters (Practice)

Offers for my Other Python Courses

Bonus Lecture


Ismael9 October 2020

good start so far, though I had to go and find a different IDE as visual studios changed and I could not figure it out.

Kerry8 October 2020

Only glitch was first use of VS - I typed "Python" and it kept opening the Microsoft Store. I had to close and reopen VS and it worked properly.

Arthur6 October 2020

Can't be said at that level. ;) There were a few typos or you could go into more detail about the options when installing the tools.

Soumya6 October 2020

The Introduction is pretty good and informative. Though I would like to add something more based on how python is used in various Engineering field.

Thomas4 October 2020

I really like the way Ardit spends time showing us where these modules are coming from, and how to use the dir() and help() functions. I am developing useful methods for self-directed learning with this course. Thank you!

Roberto27 February 2020

The course is very easy to follow and I like that he is using Visual Studio and not Jupyter. He takes his time explaining and I love the coding exercises.

Sbusiso27 February 2020

theres a clear explanation between using python on the interactive python terminal and writing a python file to execute later, shows how both these methods of writing python code output to the terminal.

Tasos26 February 2020

Thanks a lot for the ride. I learned definitely some really useful and interesting stuff. Great Job Ardit!

Max26 February 2020

This goes into the basics well, but I do not feel there is enough challenge at the moment. If there could be points where I utilize everything I have learned constantly it would develop my coding language better.

Mark26 February 2020

The best instructor I have experienced. I have taken a few C#, Powershell, Jenkins, and Docker courses. Always missing are the practical applications after every section to apply what was learned. This course continues to build and test you on the previous work rather than waiting until the very end of 20 hours to maybe give you a project or two to work on.

Péter23 February 2020

I am learning Python for academic purposes and it has been a great experience so far. Especially because I am studying simultaneously from a book as well, and both resources have their own distinct invaluable insights into certain topics.

Rashmi23 February 2020

The Python Mega course was amazing! I felt that the lectures were apt and to the point. And the way the exercises were embedded, made it more interesting. Got a lot to learn from the various applications that were built along the course.

Indrojit23 February 2020

So far its been amazing and seems like its been designed quite well. The course also teaches us the basics very efficiently.

Aditya20 February 2020

Ardit Sir really articulates the given topic in the same way as he is teaching to a beginner. The first lecture was worth the price of the course. :)

Nikhil20 February 2020

Very comprehensive and articulate course. One stop shop for all your Python cravings. Highly recommended!


Udemy ID


Course created date


Course Indexed date
Course Submitted by

Android PlayStore
Apple Appstore