Intermediate to Advanced Python with 10 OOP Projects

Everything you need to know to become an expert in Python including OOP, Git, APIs, databases, deployment, PEP8 and more

4.52 (3190 reviews)
Udemy
platform
English
language
Programming Languages
category
instructor
31,785
students
23.5 hours
content
Jan 2024
last update
$124.99
regular price

What you will learn

Master Object-Oriented Programming (OOP) in Python

Build 10 Python applications using object-oriented programming

Learn databases, APIs, package development, Git, code refactoring, debugging, and more

Build three advanced Python projects on your own

Learn to write high quality code following the PEP8 Style Guide

Learn how to deploy applications making them accessible to users globally

Description

Are you ready to elevate your Python skills to the next level and become a proficient Python developer? Look no further! Our comprehensive course is designed to transform you into a Python pro by guiding you through the creation of 10 advanced Object-Oriented Programming (OOP) applications. As we code real-world programs, you will learn advanced Python concepts and also learn how to use professional software development tools and techniques such as Git, software design principles, code refactoring, advanced debugging, APIs, and much more.

Why Enroll in This Course?

  • Master OOP Concepts: Delve into the fundamentals of Object-Oriented Programming and understand how to create robust, modular, and scalable Python applications.

  • Hands-On Practice: Gain practical experience by building 10 real-world applications, starting with the Geometry Game and progressing to complex projects like the Flatmates' Bill Sharing, Math Painter, Webcam Photo Sharer, Flatmates' Bill Web App, Calories App, Automated Emails, Instant Dictionary Web App & API, and the Cinema Booking App.

  • PyCharm Proficiency: Learn how to efficiently use the PyCharm IDE, setting up projects, and leveraging its powerful features for streamlined development.

  • In-Depth Application Development: Go beyond basics as you explore topics like inheritance, building user interfaces, web scraping, deploying applications, working with APIs, and databases, and even creating your own Python package.

  • Real-World Deployment: Understand the process of deploying your applications, making them accessible to users globally, and handling feature requests and updates.

  • Professional Software Tools and Techniques: Learn how to use tools that professional developers use such Git, Figma, debuggers, etc., and learn software development techniques to write professional code such as software design principles, refactoring, writing organized code, etc.

  • Bonus Content: As a bonus, we've included an extra module on creating a Weather Forecast Package, providing you with a valuable skill set to develop and publish your Python libraries.

What You'll Accomplish:

  • Build a Strong Foundation: Master Python from the ground up, learning essential concepts that will make you proficient in writing clean, efficient, and maintainable code.

  • Develop 10 Real-World Applications: Gain practical experience by building diverse applications, ensuring you can confidently tackle any programming challenge.

  • Understand OOP Principles: Grasp advanced Object-Oriented Programming principles, enabling you to design and implement scalable and modular software solutions.

  • Become a Python Pro: Transform into a skilled Python developer, ready to take on complex projects and contribute to the world of software development.

Enroll now and embark on a journey to becoming a Python expert! Whether you're a beginner looking to solidify your Python skills or an experienced developer aiming to enhance your proficiency, this course is tailored for you. Join us and unlock the full potential of Python development.

Content

Introduction

Introduction
Course Overview
How to Take the Course
What to Do If You Get Stuck
What IDE is Used in the Course?
Setting up Python and the Python IDE

App 1: The Other Side of the World | S1: Python Types and Abstraction

A Note for Non-Absolute Beginners
The Other Side of the World
Abstracting Real-World Objects in Python
Contact Me
Object Abstraction
Interaction Between Python Objects
Object Interaction
Difference Between Methods and Functions
More on Abstraction and Interaction
More on Interaction
Introducing Code Dictations Beta
How to Do Code Dictations
Dictation 1 - Dollars and Euros
Dictation 2 - Eggs
Decision Making
Decision Making
Using Third-Party Objects
The Nine Elements of Python
Syntactic Sugar
Syntactic Sugar

App 1: The Other Side of the World | S2: Creating Your Own Types

Introduction
A Note
Creating New Types
Creating a New Type
Creating One More Type
Adding a Time Method
Question: Abstraction
Caution: Case Sensivity
Implementing the Time Method
Implementing the Weather Method
Adding a method
Class Vs Object
Instance Methods vs Class Methods
Instance Variables vs Class Variables
Class variables
Glossary of a Class

App 1: The Other Side of the World | S3: Inheritance

Introduction
What Problem Does Inheritance Solve
Inheriting Methods
Inheriting Arguments
Displaying the Weather Forecast in the Popup Window
Inheritance
Inheritance FAQs

App 1: The Other Side of the World | S4: Sequence Types

What Are Sequence Types
String Types
String Methods
Strip String
Fill String
Replace Character
Count Characters
String Magic Methods
String Formating
String formatting
Slicing Sequences
Slice First
Slice First Part
Slice Last Part
Slice Middle
Lists, Tuples, and Ranges
Practice: Formatting the Popup Content
Extracting the Values for the Popup

App 1: The Other Side of the World | S5: Iterating

Problem Statement
The Beauty of for-loops
Looping Over Houses and Paints
Iterating with Multiple Variables
Looping with Multiple Variables

Tools & Techniques 1: Setting Up PyCharm and Getting File Resources

Section Introduction
Installing PyCharm on Windows
Installing PyCharm on Mac
Installing PyCharm on Linux
How to Use PyCharm
Important: File Resources and Python Packages for the Rest of the Course

App 2: Flatmates' Bill | S1: Planning Phase

Preview of the Flatmates' Bill App
Planning the App
Writing the Empty Classes

App 2: Flatmates' Bill | S2: Implementation Phase

Implementing the "pays" Method
PyCharm Tip
Generating a PDF Document
Implementing "generate" Method
Polishing the Code
Adding an Image to the Pdf Document
Changing the Font of the Text in the Pdf
Automatically View a PDF File

App 2: Flatmates' Bill | S3: Building an Interface

Three Kind of Interfaces
Building a CLI - The Input Function
Implementing the Rest of the Input Functions
Organizing the Code
Organizing the Files

App 2: Flatmates' Bill | S4: Deploying the App

What Does Deploy Mean
Setting up the Deployment Environment
Uploading the Files
Sharing the App

App 2: Flatmates' Bill | S5: App Improvements

A User Need For a New App Feature Arises
Sharing or Uploading Files to the Cloud
Making the Change in the App
Uploading the Changes to the Production Environment

App 3: Math Painter | S1: Creating Images

Preview of the Math Painter App
How Python Handles Images
Creating an Image out of Nothing
Drawing Shapes in the Image

App 3: Math Painter | S2: Planning Phase

Planning the App
Creating the Empty Classes

App 3: Math Painter | S3: Implementing the Methods

Implementing the Methods

App 3: Math Painter | S4: Building the User Interface

Building the CLI Interface

App 4: Webcam Photo Sharer | S1: Introductory App - Photo Searcher

Introduction
How the Introductory App Looks Like
The Four Main Objects of Kivy
Building the Frontend
Changing the Size of the Widgets
Setting an Image Dynamically
Getting an Image from the Web Given a Search Query
Downloading an Image from an URL
Implementing the Search Image Functionality
Best Coding Practices

App 4: Webcam Photo Sharer | S2: Planning Phase

Preview of the Webcam Photo Sharer App
Designing the Frontend
Designing the Object Types
Creating the Empty Classes

App 4: Webcam Photo Sharer | S3: The Camera Screen

Creating the Camera Screen
Starting the Camera
Stopping the Camera
L4 - Capturing a Photo from the Camera

App 4: Webcam Photo Sharer | S4: The Image Screen

Building the Image Screen
Showing the Image in the Screen Image
Uploading and Creating a Sharable Link of the Image File
Implementing the Copy Link Button
Implementing the Open Link Button

App 4: Webcam Photo Sharer | S5: Improving the Appearance of the App

Improving the Size of the Widgets
Changing the Color and Shape of the Buttons
Changing the App Background Color

App 5: Flatmates' Bill Web App | S1: Planning Phase

What the App Is About
The Design of the Webapp
The Classes
Writing the Empty Classes

App 5: Flatmates' Bill Web App | S2: Implementation Phase

Implementing the Home Page
Completing the Home Page
Implementing the Bill Form Page
Implementing the Web Form
Implementing the Form Submit Button
Processing the User Data
Default Data for the Input widgets
Completing the Results page

App 5: Flatmates' Bill Web App | S3: Making the App Visually Appealing

Creating and Linking the CSS File
Completing the Visual Changes

App 5: Flatmates' Bill Web App | S4: Deploying the App

Deploying the App on the Python Anywhere Servers

App 5: Flatmates' Bill Web App | S5: App Improvements

Showing the Results Under the Form

App 6: Calories App | S1: Planning Phase

Preview of the Calories App
Planning the App
The Empty Classes

App 6: Calories App | S2: The Webscraping Part

Making a URL Request with Python
Extracting the Temperature Value from the Webpage

App 6: Calories App | S3: Implementing the methods

Implementing the Calorie Class
Implementing the Temperature Class
Implementing the Flask Classes

Tools & Techniques 2: Writing Readable Code

Introduction
What is the PEP 8 Style Guide?
PEP 8 Guidelines

Tools & Techniques 3: Debugging a Program

Introduction
What is Python Really?
The Parsing Phase and Syntax Errors
Exceptions
Tracebacks with Multiple Errors
Debugging with Print Functions
Using the Debugger Tool
The Step Into My Code and Step Over Buttons

App 7: Automated Emails | S1: Planning Phase

Preview of the Automated Emails App
Planning the App
Writing the Empty Classes

App 7: Automated Emails | S2: Getting News with Python

Getting All the News of Today
Getting News for Certain Dates
Getting a Particular News
Constructing a String of News Titles and Urls
Implementing the News Feed Class

App 7: Automated Emails | S3: Sending out Emails

Preparing the Tools
Sending a Single Email
Sending Batch Emails
Dynamic Timestamps for Today and Yesterday
Running the Code at a Certain Time

Tools & Techniques 4: Code Refactoring

What is Code Refactoring?
Refactoring Our Code

Tools & Techniques 5: Git| S1: What is Git?

What is Git?
The Benefits of Git Illustrated

Tools & Techniques 5: Git | S2: Working with the Local Repo

Creating a Git-Enabled PyCharm Project
Add and Commit
Commit History
Git Reset
Git Revert
Unversioned Files and .gitignore

Tools & Techniques 5: Git | S3: Working with the Remote Repo

Pushing the Changes to the Remote Repo
Cloning a Remote Repo
Understanding the requirements.txt File

App 8: Instant Dictionary Web App and API | S1: Planning Phase

Planning the App
Creating the Empty Classes

App 8: Instant Dictionary Web App and API | S2: Implementing Definition Class

Implementing the Definition Class

App 8: Instant Dictionary Web App and API | S3: Interactive Webpage Frontend

What We Will Build
A Basic Webpage
Styling the Webpage
Adding More Components to the Webpage
Putting Components in a Grid
Handling Events
More Mouse Events
Using the Quasar Interface

App 8: Instant Dictionary Web App and API | S4: Making OOP Web Apps

The Problem with the Current Project Structure
Making the About page
Tip- Inheritance vs Composition
Making the Home page
Making the Dictionary Page
Time Bomb in the Code
Getting Output in the Output Div
Getting the Definitions in the Output Box
Getting Output Instantly

App 8: Instant Dictionary Web App and API | S5: Making the Navigation Menu

The Goal of This Section
Making the Layout
Adding the Menu Items
Making a Default Layout class
Making the Routes Automatic
Creating an Abstract Class

App 9: Instant Dictionary API | S1: Understanding an API

Understanding an API

App 9: Instant Dictionary API | S2: Building the API

Getting the Request
Definitions as API response
Returning a JSON Response
Writing the API Documentation

App 9: Instant Dictionary API | S3: Using the API

Using the API

Tools & Techniques 6: Databases

What is a Database and Why Use Them?
Creating a Database and a Table in DB Viewer
Adding Records in DB Viewer
Creating a Database Table with Python
Inserting Records to a Table
Selecting Records
Updating Records
Deleting Records
Query Parameters

App 10: Cinema Booking App | S1: Planning Phase

Preview of the Cinema Booking App
Planning the App

App 10: Cinema Booking App | S2: Implementation Phase

The Empty Classes
The Complete Code

Bonus Optional App (Python Library): Creating a Weather Forecast Library

Introduction
Preview of the library
The Library Structure
Preparing the Input Data
Creating the Weather Class
Getting Weather Forecast by Coordinates
Raising Errors When Arguments Are Not Passed
Cleaning the Data
Providing Simplified Weather Data
Raising Errors When Data Are Incorrect
Adding Docs to Your Library
Preparing and Testing the Library
Uploading the Library to PyPi
Making and Uploading a Library Change

Screenshots

Intermediate to Advanced Python with 10 OOP Projects - Screenshot_01Intermediate to Advanced Python with 10 OOP Projects - Screenshot_02Intermediate to Advanced Python with 10 OOP Projects - Screenshot_03Intermediate to Advanced Python with 10 OOP Projects - Screenshot_04

Reviews

Qing
November 9, 2023
Let me use a word to describe this course -- "clear". I learned a lot from this course. Ardit and Anisa are more like educators. This course is kind of difficult. If you are an entry-level, I would suggest you begin with Ardit's Mega course.
Andrii
July 13, 2023
It's a second course of this author, that I learn. He has very good pronounsation (I'm not native speaker, but I understand literally every word). The course is good in combining theory, practice and tasks to do. Really glad with this purchase.
Marco
June 22, 2023
I searched for intermediate python courses and this one showed up. It feels more like beginner level, except for 2 or 3 projects.
Jonathan
June 21, 2023
It's a good course, but probably not advanced as I was hoping, since it starts off by saying 'you probably haven't written a fully functioning programme yet', which I certainly have many times. I'm still learning useful things though.
Evan
June 15, 2023
I had very limited experience in Python prior to this course, and the pace/content of it is absolutely perfect for a newcomer to the language who still has significant programming experience in other languages. The 10 project layout is excellent for helping users really develop their Python skills.
Pablo
June 2, 2023
Great course! Many concepts are well explained. In the end, you get with a real and useful concept of OOP with Python and many excellent techniques.
Sebastjan
May 10, 2023
I liked the way how it paved the concept of object as a building block of everything in python. well done.
Jakub
May 3, 2023
Very good course. Teachers speaks very well, and describes everything well. But the main advantage of this course is topic selection. Do not believe the first video, You won't be a pro after this course, but in my mind You could start being a practitioner. I've learned some Python(very good beginners course by Boris Pashkaver, here on Udemy). Learned all about object, classes, loops, conditions etc. Even created some terminal based programs and scripts. One is even usefull. But how to get further? We all heard that with Python You can make apps web pages, mobile apps, etc but how to get there? Well if You are in the same spot as I, this is good course. Armidt shows many libriries, extentions, how to use hard learned codeing skills into something usefull. He doesn't get to any of them very deep, but enough to get a grasp what You can use it for, and maybe how to get deeper. I have like 100 ideas what more I want to learn, like some html course, kivy course, flask course etc
António
May 3, 2023
I wouldn't say this is advanced. Rather more intermediate stuff. However, it's pretty good to refresh methods and even learn some new things. The instructor speaks too much about basic stuff.
Farida
April 12, 2023
An excellent course! You get to make interesting apps using different libraries/packages. The idea of each app sounds intimidating at first, but the way the instructor explains it and writes the code makes everything so much easier. Instead of using the new classes and methods right away, he first explains what they do by simpler examples and this way you don’t just memorize them but understand them. I also liked the emphasis on the planning/design phase and OOP, because that’s something I’ve been struggling with, but now I have a clearer understanding of how to approach a problem.
Katie
April 12, 2023
Exactly what is needed after learning a decent amount of python, but not knowing quite how to use object oriented programming.
Peter
April 12, 2023
to basic. The requirements for this course are that the user already knows python basics and written some code so this shouldn't be covered in the advanced course
Wassim
April 8, 2023
i am taking this course as a refresher. everything is great except for one thing: some parts of the content are out of frame. but still a great course for those who like to refresh on oop in python or up their level .
Ayşe
March 10, 2023
What a great journey, I love the way that you explain things. I need more that kind of course. I really like learning thought examples that why I love your course. Practice make perfect. Thanks for the course ....
Nirmalendu
January 4, 2023
Yes. Although looks little difficult but useful for sure as I was looking for something beyond the basic Python.

Coupons

DateDiscountStatus
1/14/202195% OFF
expired
4/8/202192% OFF
expired
5/26/202194% OFF
expired
9/21/202285% OFF
expired

Charts

Price

Intermediate to Advanced Python with 10 OOP Projects - Price chart

Rating

Intermediate to Advanced Python with 10 OOP Projects - Ratings chart

Enrollment distribution

Intermediate to Advanced Python with 10 OOP Projects - Distribution chart
2563788
udemy ID
9/17/2019
course created date
1/14/2021
course indexed date
Bot
course submited by