Advanced Python Programming Build 10 OOP Applications

Take your Python skills to the next level with advanced concepts and real-world application building.
Advanced Python Programming Build 10 OOP Applications
File Size :
10.49 GB
Total length :
23h 21m



Ardit Sulce


Last update




Advanced Python Programming Build 10 OOP Applications

What you’ll learn

Escape the world of Python basics and take your Python skills to a professional level.
Master the ultimate object-oriented programming paradigm.
Build 10 real-world Python programs using the professional object-oriented programming approach.
Complete three independent Python projects and compare the solutions.
Learn how to plan your Python programs before writing them.
Write highly organized modular code.
Learn and apply software design principles when programming in Python.
Learn to troubleshoot code issues using debuggers.
Learn to use Git to track your code changes.
Get a deep understanding of how Python works under the hood.
Learn to polish your Python programs to make them ready for users to use.
Create weather forecast web maps with Python.
Generate PDF reports.
Create and manipulate images.
Control your computer and mobile camera.
Take photos from the computer or the mobile camera with Python and upload them to cloud services.
Build interactive web apps.
Send daily news by email and schedule automatic emails.
Build Python REST APIs.
Work with SQL databases.
Extract data via web scraping.
Learn to create desktop GUI programs.
Learn to create mobile apps.
Learn advanced core Python concepts such as class methods, static methods, abstract classes, etc.
Learn code refactoring.
Learn the PEP8 Style Guide for Python code.
Learn to create Python packages.

Advanced Python Programming Build 10 OOP Applications


Students should already know Python basics that are variables, numbers, strings, lists, functions, conditionals, and loops.


Are you an aspiring Python programmer who has completed a Python for Beginners Course or “The Python Mega Course” and wants to take your skills to the next level? Look no further than “Advanced Python Programming: Build 10 OOP Applications,” a Udemy course designed for those who want to learn more advanced Python concepts.Through this course, you will master Python programming from the inside out by building ten real-world applications while you learn advanced programming concepts, techniques, and tools. You will learn to work with Git and GitHub, debuggers, software design principles, highly-organized code, code planning, code refactoring, SQL databases, web applications, mobile applications, desktop programs with graphical user interfaces, web scraping, automating tasks, controlling computer and mobile cameras with Python, getting daily news automatically, generating PDF reports automatically, sending automated emails, building Python REST APIs, and creating and publishing Python packages to the Python PyPi package index.In particular, you will learn to program in the professional object-oriented programming (OOP) paradigm. Object-oriented programming is considered the ultimate way of programming, and this course will teach you OOP from scratch. Concepts like self, instance variables, or instance objects will not be a black box anymore. This course emphasizes the importance of software design principles, which will help you to write code that is maintainable, scalable, and easy to understand. You will also learn to use debuggers effectively to identify and fix bugs in your code. In addition, you will learn to write efficient and readable code by planning and refactoring your code.By the end of the course, you will be a master of Python and be able to effortlessly build any Python program using quality, highly-organized Python code. This course is also covered by the Udemy 30-day money-back guarantee, so there’s no risk involved.If you have already completed a beginner’s or intermediate course this course is the ideal next step to take your Python skills to the next level. Sign up now and start building real-world applications with confidence!


Section 1: Getting Started

Lecture 1 How This Course Will Make You a Pro

Lecture 2 What is the Best Python IDE?

Lecture 3 IDE Resource

Lecture 4 Ready to Code

Lecture 5 Getting Help

Section 2: App 1: Geometry Game – Introduction to Object Oriented Programming

Lecture 6 Find the Objects in This Code (Assignment)

Lecture 7 Python Language Elements from a Deep View

Lecture 8 What is a Python Object?

Section 3: App 1: Geometry Game – Creating and Using Python Classes

Lecture 9 Geometry Game Demonstration

Lecture 10 Find the Objects (Assignment)

Lecture 11 Answer: The Objects in the Code

Lecture 12 The Steps of Writing a Professional Program

Lecture 13 Creating a Python Class

Lecture 14 Using the Created Class to Create Objects

Lecture 15 What is “self”?

Lecture 16 More About “self”

Lecture 17 Creating Class Methods

Lecture 18 The “__init__” Method Vs. Normal Methods

Lecture 19 Add a “distance” Method (Assignment)

Lecture 20 Answer: Adding a “distance” Method

Section 4: App 1: Geometry Game – More Practice with Classes

Lecture 21 Creating a Second Class for our Program

Lecture 22 Wrapping Things Up

Lecture 23 Add a New Feature to the Program (Assignment)

Lecture 24 Answer: Adding a New Feature to the Program

Lecture 25 Code Improvement

Section 5: Tools & Techniques 1: Setting up PyCharm and Directories for the Next Apps

Lecture 26 Section Introduction

Lecture 27 Installing PyCharm on Windows

Lecture 28 Installing PyCharm on Mac

Lecture 29 Installing PyCharm on Linux

Lecture 30 How to Use PyCharm

Lecture 31 [IMPORTANT] File Resources and Python Libraries

Section 6: App 1: Geometry Game – Inheritance

Lecture 32 Problem Statement

Lecture 33 Investigating the Code

Lecture 34 Inheriting from the Rectangle Class

Lecture 35 Adding Methods to the Child Class

Lecture 36 Wrapping Things Up

Lecture 37 Inheriting from the Point Class

Section 7: App 2: Flatmates’ Bill Sharing – Planning Phase

Lecture 38 Installing the Libraries for App 2

Lecture 39 Preview of The Flatmates’ Bill App

Lecture 40 Showcasing an App

Lecture 41 Planning the App

Lecture 42 Writing the Empty Classes

Lecture 43 Note

Section 8: App 2: Flatmates’ Bill Sharing – Implementation Phase

Lecture 44 Implementing the “pays” Method

Lecture 45 PyCharm Tip

Lecture 46 Generating a PDF Document

Lecture 47 Implementing the “generate” Method

Lecture 48 Polishing the Code

Lecture 49 Adding an Image to the PDF Document

Lecture 50 Changing the PDF Text Font

Lecture 51 Automatically View a PDF File

Section 9: App 2: Flatmates’ Bill Sharing – Building a User Interface

Lecture 52 Three Kinds of Interfaces

Lecture 53 Building a CLI – The Input Function

Lecture 54 Implementing the Rest of the Input Functions

Lecture 55 Organizing the Code

Lecture 56 Organizing the Files

Section 10: App 2: Flatmates’ Bill – Deploying the App (Optional)

Lecture 57 Note

Lecture 58 What Does “Deploying” Mean

Lecture 59 Setting up the Deployment Environment

Lecture 60 Uploading the Project Files

Lecture 61 Sharing the App

Lecture 62 Feature Requests from Users

Lecture 63 Uploading Files to the Cloud

Lecture 64 Implementing the Change in the App

Lecture 65 Uploading the Changes to Production

Section 11: OOP Exercises

Section 12: App 3: Math Painter – Creating Images

Lecture 66 Installing the Libraries for App 3

Lecture 67 Preview of the Math Painter App

Lecture 68 How Python Handles Images

Lecture 69 Creating an Image out of Nothing

Lecture 70 Drawing Shapes in the Image

Section 13: App 3: Math Painter – Planning Phase

Lecture 71 Planning the App

Lecture 72 Creating the Empty Classes

Section 14: App 3 – Math Painter – Implementing the Methods

Lecture 73 Implementing the Methods

Section 15: App 3: Math Painter – Building the User Interface

Lecture 74 Building the CLI Interface

Section 16: Introduction to Kivy

Lecture 75 Installing the Libraries for App 4

Lecture 76 How the Introductory App Looks Like

Lecture 77 The Four Main Objects of Kivy

Lecture 78 Building the Frontend

Lecture 79 Changing the Size of the Widgets

Lecture 80 Setting an Image Dynamically

Lecture 81 Getting an Image from the Web Given a Search Query

Lecture 82 Downloading an Image from a URL

Lecture 83 Implementing the Search Image Functionality

Lecture 84 Best Coding Practices

Section 17: App 4: Webcam Photo Sharer – Planning Phase

Lecture 85 Preview of the Webcam Photo Sharer App

Lecture 86 Note

Lecture 87 Designing the Frontend

Lecture 88 Designing the Object Types

Lecture 89 Creating the Empty Classes

Section 18: App 4: Webcam Photo Sharer – The Camera Screen

Lecture 90 Creating the Camera Screen

Lecture 91 Starting the Camera

Lecture 92 Stopping the Camera

Lecture 93 L4 – Capturing a Photo from the Camera

Section 19: App 4: Webcam Photo Sharer – The Image Screen

Lecture 94 Building the Image Screen

Lecture 95 Showing the Image in the Screen Image

Lecture 96 Uploading and Creating a Sharable Link of the Image File

Lecture 97 Implementing the Copy Link Button

Lecture 98 Implementing the Open Link Button

Section 20: App 4: Webcam Photo Sharer – Improving the Appearance of the App

Lecture 99 Improving the Size of the Widgets

Lecture 100 Changing the Color and Shape of the Buttons

Lecture 101 Changing the App Background Color

Section 21: App 5: Flatmates’ Bill Web App – Planning Phase

Lecture 102 Installing the Libraries for App 5

Lecture 103 What the App Is About

Lecture 104 The Design of the Webapp

Lecture 105 The Classes

Lecture 106 Writing the Empty Classes

Section 22: OOP Exercises

Lecture 107 Tip: Don’t Hard Code

Section 23: App 5: Flatmates’ Bill Web App – Implementation Phase

Lecture 108 Implementing the Home Page

Lecture 109 Completing the Home Page

Lecture 110 Implementing the Bill Form Page

Lecture 111 Implementing the Web Form

Lecture 112 Implementing the Form Submit Button

Lecture 113 Processing the User Data

Lecture 114 Default Data for the Input widgets

Lecture 115 Completing the Results page

Section 24: App 5: Flatmates’ Bill Web App – Making the App Visually Appealing

Lecture 116 Creating and Linking the CSS File

Lecture 117 Completing the Visual Changes

Section 25: App 5: Flatmates’ Bill Web App – Deploying the App

Lecture 118 Deploying the App on the Python Anywhere Servers

Section 26: App 5: Flatmates’ Bill Web App – App Improvements

Lecture 119 Showing the Results Under the Form

Section 27: App 6: Calories App – Planning Phase

Lecture 120 Installing the Libraries for App 6

Lecture 121 Preview of the Calories App

Lecture 122 Planning the App

Lecture 123 The Empty Classes

Section 28: App 6: Calories App – The Web Scraping Part

Lecture 124 Making a URL Request with Python

Lecture 125 Extracting the Temperature Value from the Webpage

Section 29: App 6: Calories Flask App – Implementing The Methods

Lecture 126 Implementing the Calorie Class

Lecture 127 Implementing the Temperature Class

Lecture 128 Implementing the Flask Classes

Section 30: Tools & Techniques 2: Writing Readable Code

Lecture 129 Introduction

Lecture 130 What is the PEP 8 Style Guide?

Lecture 131 PEP 8 Guidelines

Section 31: Tools & Techniques 3: Debugging a Program

Lecture 132 Introduction

Lecture 133 Program Execution Phases Under the Hood

Lecture 134 The Parsing Phase and Syntax Errors

Lecture 135 Exceptions

Lecture 136 Tracebacks with Multiple Errors

Lecture 137 Debugging with Print Functions

Lecture 138 Using the Debugger Tool

Lecture 139 The Step Into My Code and Step Over Buttons

Section 32: App 7: Automated Emails – Planning Phase

Lecture 140 Installing the Libraries for App 7

Lecture 141 Preview of the Automated Emails App

Lecture 142 Planning the App

Lecture 143 Writing the Empty Classes

Section 33: App 7: Automated Emails – Getting News With Python

Lecture 144 Getting All the News of Today

Lecture 145 Getting News for Certain Dates

Lecture 146 Getting a Particular News

Lecture 147 Constructing a String of News Titles and Urls

Lecture 148 Implementing the News Feed Class

Section 34: App 7: Automated Emails – Sending out Emails

Lecture 149 Preparing the Tools

Lecture 150 Sending a Single Email

Lecture 151 Sending Batch Emails

Lecture 152 Dynamic Timestamps for Today and Yesterday

Lecture 153 Running the Code at a Certain Time

Section 35: Tools & Techniques 4: Code Refactoring

Lecture 154 What is Code Refactoring?

Lecture 155 Refactoring Our Code

Section 36: Tools & Techniques 5.1: Git: What is Git?

Lecture 156 What is Git?

Lecture 157 The Benefits of Git Illustrated

Section 37: Tools & Techniques 5.2: Git: Working with the Local Repo

Lecture 158 Creating a Git-Enabled PyCharm Project

Lecture 159 Add and Commit

Lecture 160 Commit History

Lecture 161 Git Reset

Lecture 162 Git Revert

Lecture 163 Unversioned Files and .gitignore

Section 38: Tools & Techniques 5.3: Git: Working with the Remote Repo (GitHub)

Lecture 164 Pushing the Changes to GitHub

Lecture 165 Cloning a GitHub Repository

Lecture 166 Using the “requirements.txt” File

Section 39: App 8: Instant Dictionary Web App & API – Planning Phase

Lecture 167 Installing the Libraries for App 8

Lecture 168 Planning the App

Lecture 169 Creating the Empty Classes

Section 40: App 8: Instant Dictionary Web App & API – Implementing the Definition Class

Lecture 170 Implementing the Definition Class

Section 41: App 8: Instant Dictionary Web App & API – Interactive Webpage Frontend

Lecture 171 What We Will Build

Lecture 172 A Basic Webpage

Lecture 173 Styling the Webpage

Lecture 174 Adding More Components to the Webpage

Lecture 175 Putting Components in a Grid

Lecture 176 Handling Events

Lecture 177 More Mouse Events

Lecture 178 Using the Quasar Interface

Section 42: App 8: Instant Dictionary Web App & API – Making OOP Web Apps

Lecture 179 The Problem with the Current Project Structure

Lecture 180 Making the About Page

Lecture 181 Tip: Inheritance vs. Composition

Lecture 182 Making the Home page

Lecture 183 Making the Dictionary Page

Lecture 184 Time Bomb in the Code

Lecture 185 Getting Output in the Output Div

Lecture 186 Getting the Definitions in the Output Box

Lecture 187 Getting Output Instantly

Section 43: App 8: Instant Dictionary Web App & API – Making the Navigation Menu

Lecture 188 The Goal of This Section

Lecture 189 Making the Layout

Lecture 190 Adding the Menu Items

Lecture 191 Making a Default Layout class

Lecture 192 Making the Routes Automatic

Lecture 193 Creating an Abstract Class

Section 44: App 9: Instant Dictionary API – Understanding an API

Lecture 194 Installing the Libraries for App 9

Lecture 195 Understanding an API

Section 45: App 9: Instant Dictionary API – Building the API

Lecture 196 Getting the Request

Lecture 197 Definitions as API response

Lecture 198 Returning a JSON Response

Lecture 199 Writing the API Documentation

Section 46: App 9: Instant Dictionary API – Using the API

Lecture 200 Using the API

Section 47: Tools & Techniques 6: Databases

Lecture 201 What is a Database and Why Use it?

Lecture 202 Creating a Database and a Table in DB Viewer

Lecture 203 Adding Records in DB Viewer

Lecture 204 Creating a Database Table with Python

Lecture 205 Inserting Records to a Table

Lecture 206 Selecting Records

Lecture 207 Updating Records

Lecture 208 Deleting Records

Lecture 209 Query Parameters

Section 48: App 10: Cinema Booking App – Planning Phase

Lecture 210 Installing the Libraries for App 10

Lecture 211 Preview of the Cinema Booking App

Lecture 212 Planning the App

Section 49: App 10: Cinema Booking App – Implementation Phase

Lecture 213 The Empty Classes

Lecture 214 The Complete Code

Section 50: App 11 (Bonus): Creating a Weather Forecast Package

Lecture 215 Introduction

Lecture 216 Demo of the Package

Lecture 217 The Library Structure

Lecture 218 Preparing the Input Data

Lecture 219 Creating the Weather Class

Lecture 220 Getting Weather Forecast by Coordinates

Lecture 221 Raising Errors When Arguments Are Not Passed

Lecture 222 Cleaning the Data

Lecture 223 Providing Simplified Weather Data

Lecture 224 Raising Errors When Data Are Incorrect

Lecture 225 Adding Docs to Your Library

Lecture 226 Preparing and Testing the Library

Lecture 227 Uploading the Library to PyPi

Lecture 228 Making and Uploading a Package Change

Lecture 229 Bonus Lecture

People who know Python basics already

Course Information:

Udemy | English | 23h 21m | 10.49 GB
Created by: Ardit Sulce

You Can See More Courses in the Developer >> Greetings from

New Courses

Scroll to Top