->
Udemy - Python OOP - Object Oriented Programming for Beginners
Udemy - Python OOP - Object Oriented Programming for Beginners

Learn Object Oriented Programming (OOP) in Python with mini projects, hands-on practice, and carefully designed visual explanations. Understand how the elements and abstract concepts of OOP work behind the scenes. Apply your knowledge to new scenarios.


Description

Object Oriented Programming is Your Next Step Into the In-demand and Powerful World of Python

  • Create and work with classes and instances to write Python programs.

  • Understand how they work behind the scenes.

  • Learn when to use instance attributes vs. class attributes.

  • Implement and call methods. Understand their purpose.

  • Take advantage of the power of inheritance to avoid code repetition.

  • Use key concepts like Docstrings and Special methods in your programs.

-----------------------------

Student Reviews:

"Even total noob will understand the OOP here :)" — Łukasz Bryzek

"I love how the instructor explains things in simple language and relates it to everyday life. I actually understand! I'm just at the beginning of the course and am excited about continuing." — Donny Lobree

"I would strongly recommend this course if you are new to programming and want to master the basics of OOP." — Demayne Collins

"The learning sticks. The coverage of Python classes here, for me, has been better than how this topic has been covered in a couple of other Python classes I have from more well-established Python instructors. Hats of to the instructor for putting this together." — Thomas P

"Perfect for persons without any clue in oop!" — Patrick Onegin

-----------------------------

Add New Python Skills To Your Resume

Python is currently one of the most popular programming languages and its popularity continues rising every year. It is used for real-world applications in diverse areas such as Data Science, Game Development, Web Development, Machine Learning, Artificial Intelligence, and many more. Learning Object Oriented Programming in Python is your next step into the powerful world of computer science.

Object Oriented Programming is key if you wish to expand your computer science skills and create maintainable and scalable programs. You will need to learn these concepts to implement data structures like trees, graphs, and linked lists. It's also key for game development, GUI programming, artificial intelligence, and many other areas. The concepts and techniques that you will learn in this course are easily transferable to other programming languages like Java, JavaScript, and many more.

Content & Overview

With high-quality video lectures that include graphics and animations, you will learn and work with these concepts:

  • Classes

  • Instances

  • Instance Attributes

  • Class Attributes

  • Methods

  • The 'self' parameter

  • Inheritance

  • Docstrings

  • Special Methods

  • .... and more!

You will create a mid-term course project, a text-based version of the Blackjack game following the principles of Object Oriented Programming.

Learning Material & Resources

Throughout the course, you will find these resources:

  • Video lectures: carefully designed graphics, animations, and explanations.

  • Mid-term Course Project: you will create a text-based version of the Blackjack game using the principles of Object Oriented Programming.

  • Mini Projects: apply your knowledge at the end of each section with these mini projects.

  • Solutions to the Mini Projects: each mini project has its corresponding solution.

  • PDF Handouts: unique study guides with a graphical summary of the key aspects of each section.

  • Coding Exercises: practice key concepts with the coding exercises.

  • Solutions to the Coding Exercises: each coding exercise has its corresponding solution.

  • Quizzes: check your knowledge interactively after each lecture with short quizzes that have unlimited attempts.

  • PDF Slides: download the slides used in each section as a pdf file. Take your learning with you anywhere you go.

  • Python Files: download the code used for each section as a compressed (.zip) file with individual python (.py) files.

  • Articles: read complementary articles to expand your knowledge.

  • Capstone Project: apply your knowledge in a final capstone project.

  • Discussion Forums: ask questions on the discussion forums and discuss interesting topics with your peers.

Why is this course unique?

This course is unique because of its emphasis on providing visual and detailed explanations of how the elements of Object Oriented Programming (OOP) work behind the scenes, so you will not only learn how to use them in Python, you will actually understand what each line of code does behind the scenes.

During the course, you will apply your knowledge by completing mini projects that simulate simplified real-world scenarios such as fixing classes in a bakery system, representing bacteria for educational software using instance attributes, implementing inheritance for a videogame, completing the system of a vending machine, and many more. Each mini project includes its corresponding solution.

Unique study materials complement the course experience. You will find PDF handouts specifically designed for the course with a graphical summary of the key aspects of each section.

You will solve coding exercises directly on the browser and you will receive instant feedback for your submission.

You will check your knowledge with short Quizzes after each main lecture. The Quizzes provide instant feedback, so you cansee thecorrect answer immediately. The quiz questions were designed to make you think more deeply about the topics presented.

You will receive a certificate of completion that you can add to your social media profiles to showcase your new skills.

You will also have lifetime access to the course and to all the new additions.

---------

You are very welcome to watch the preview lectures and check out the full course curriculum.

If you are looking for an engaging, visual,and practical course, you've found it.

Add "Object Oriented Programming in Python" to yourresume and showcase your new skills!

Who this course is for:
  • New developers who know the basics of Python and would like to expand their knowledge.
  • Developers and Students who want to learn how to work with Object Oriented Programming.
  • Self-taught developers who wish to dive into the world of Object Oriented Programming from the basics.
  • Programmers who need to refresh their knowledge on this topic.

Course content

  • Welcome to Object Oriented Programming (OOP)
    • Object Oriented Programming: Real-World Applications
    • Course Roadmap
    • Welcome to the Course | Please Introduce Yourself
    • Important Course Information & Resources
    • Applications of Object-Oriented Programming
    • Meet the Coding Exercises
    • Let's Start the Course
  • Advantages of OOP and Key Concepts
    • Welcome to this section | Advantages of OOP
    • Section Resources
    • Advantages of Object Oriented Programming
    • Important Acronyms
    • Programming Languages that support Object Oriented Programming
    • Advantages of Object Oriented Programming
    • Mini Project | Advantages of OOP
    • Mini Project (PDF Version for Mobile App)
  • Classes: The Blueprints of Object Oriented Programming (OOP)
    • Welcome to this section | Classes
    • Section Resources & Slides
    • Meet Classes: The Building Blocks of OOP
    • Use Cases and Practical Analysis
    • Classes | Concept & Analysis
    • Classes: General Python Syntax & Structure
    • Use of "object" in Python 3 and Python 2
    • Classes | Syntax
    • Practical Analysis: Classes
    • Section Quiz | Check Your Knowledge
    • Mini Project | Classes in Real-World Scenarios
    • Mini Project (PDF Version for Mobile App)
  • Instances and Instance Attributes
    • Welcome to this section | Instances and Instance Attributes
    • Section Resources & Slides
    • Introduction to Instances & Instance Attributes
    • Instances and Instance Attributes | Concept
    • Instance Attributes and __init__()
    • __init__(): Common Mistakes
    • Formal Parameters: PEP 8 Style Guide
    • Introduction to self
    • Coding Session: Define Instance Attributes
    • Instances & Instance Attributes | Syntax
    • How to Create Instances
    • Coding Session: Create Instances
    • Create instances
    • Create an Instance
    • Default Arguments
    • Default Arguments: PEP 8 Style Guide
    • Default Arguments
    • How to Access Instance Attributes
    • Coding Session: Access Instance Attributes
    • How to Access Instance Attributes
    • How to Modify Instance Attributes
    • Coding Session: Modify Instance Attributes
    • How to Modify Instance Attributes
    • Practice | Bacteria and Instances
    • Section Quiz | Check Your Knowledge
    • Mini Project | Bakery: Fix the Classes
    • Mini Project (PDF Version for Mobile App)
  • Class Attributes
    • Welcome to this Section | Class Attributes
    • Section Resources & Slides
    • Introduction to Class Attributes
    • Class Attributes vs. Instance Attributes
    • Class Attributes | Theory
    • How to Define Class Attributes
    • Coding Session: Define Class Attributes
    • Class Attributes | Syntax
    • Define Class Attributes
    • How to Access Class Attributes
    • Coding Session: Access Class Attributes
    • How to Access Class Attributes
    • Access Class Attributes
    • How to Modify Class Attributes
    • Coding Session: Modify Class Attributes
    • How to Modify Class Attributes
    • Modify Class Attributes
    • Mini Project | Employees and Class Attributes
    • Mini Project (PDF Version for Mobile App)
  • Encapsulation and Abstraction
    • Welcome to this section | Encapsulation and Abstraction
    • Section Resources & Slides
    • Encapsulation
    • Abstraction
    • Encapsulation and Abstraction
    • Public vs. Private (Non-Public) Attributes in Python
    • Coding Session #1: Public vs. Non-Public Attributes
    • Coding Session #2: Public vs. Non-Public
    • Public vs. Non-Public Attributes
    • Python Documentation | Helpful Link
    • Access Modifiers in other Programming Languages
    • Name Mangling
    • Name Mangling
    • Section Quiz | Check Your Knowledge
    • Mini Project | Encapsulation and Abstraction
    • Mini Project (PDF Version for Mobile App)
  • Properties, Getters, and Setters
    • Welcome to this Section | Properties, Getters, and Setters
    • Section Resources & Slides
    • Introduction to Getters
    • Introduction to Setters
    • Coding Session: Getters & Setters
    • Getters & Setters
    • How to use Properties | The Pythonic Way
    • Coding Session: Properties
    • Properties | Initial Syntax
    • The @property Decorator
    • What is a decorator?
    • Coding Session: Using @property
    • @property | The Three Methods
    • Properties | @property
    • Note on the Use of Getters, Setters, and Properties
    • Section Quiz | Check Your Knowledge
    • Share your Experience
    • Mini Project | Refactor an Existing Project with @property
    • Mini Project (PDF Version for Mobile App)
  • Methods
    • Welcome to this section | Methods
    • Section Resources & Slides
    • Introduction to Methods | Theory and Syntax
    • Coding Session: Methods
    • Methods | Concept & Syntax
    • Methods: PEP 8 Style Guide
    • How to Call a Method
    • Coding Session: Call a Method
    • Alternative Syntax to Call a Method
    • Non-Public Methods and Name Mangling
    • How to Call a Method
    • Call a Method
    • Default Arguments
    • Coding Session: Default Arguments
    • How to Call a Method from Another Method
    • Coding Session: Call Methods from Other Methods
    • Methods and Return Statements
    • Define and Call a Method
    • Section Quiz | Check Your Knowledge
    • Mini Project | Music School - Student Records
    • Mini Project (PDF Version for Mobile App)
  • Intro to Object-Oriented Analysis and Design
    • Welcome to this Section | Object Oriented Analysis and Design
    • Section Resources & Slides
    • Main Goals of Object Oriented Analysis and Design
    • Object Oriented Analysis | Guidelines
    • Introduction to the Scenario
    • Part 1: How to Identify Classes
    • Part 2: How to Identify Attributes
    • Part 3: How to Identify Methods
    • Final Classes and Next Steps
    • Section Quiz | Check Your Knowledge
    • Mini Project | Analyze a Scenario
    • Mini Project (PDF Version for Mobile App)
  • Mid-term Course Project - Build a Game using OOP
    • Welcome to this Section | Mid-term Course Project & Quiz
    • Section Resources
    • Project Requirements
    • Note on the Mid-term Course Project
    • Coding Session: Card Class
    • Coding Session: Deck Class
    • Coding Session: Player Class
    • Coding Session: Main Game
    • Submit your Mid-term Course Project
  • Objects in Memory
    • Welcome to this Section | Objects in Memory
    • Section Resources & Slides
    • Python: Objects in Memory
    • Object vs. Instance
    • Built-in Objects in Python and their Methods
    • How to use the id() function
    • Coding Session: the id() function
    • The id() function
    • Introduction to the "is" operator
    • Comparing Objects of User-Defined Classes with ==
    • Coding Session: Use the "is" operator
    • The "is" operator
    • The "is" operator: Unexpected Results
    • Working with objects
    • Try it: Check that objects are passed by Reference
    • Section Quiz | Check Your Knowledge
    • Mini Project | Objects in Memory
    • Mini Project (PDF Version for Mobile App)
  • Aliasing, Mutation, and Cloning
    • Welcome to this section | Aliasing, Mutability, and Cloning
    • Section Resources & Slides
    • Introduction to Aliasing
    • Coding Session: Aliasing
    • Aliasing
    • Introduction to Mutability
    • Mutability | Advantages and Disadvantages
    • Coding Session: Mutability
    • Be Careful: Built-in Methods can Mutate Objects
    • Common Bug: Be Careful with Mutable Data Types as Default Arguments
    • Important Tip: Immutable doesn't mean that its elements are immutable
    • Mutability
    • Introduction to Cloning
    • Shallow vs. Deep Copy of an Object
    • Cloning
    • Section Quiz | Check Your Knowledge
    • Mini Project | Fix the Code
    • Mini Project (PDF Version for Mobile App)
  • Inheritance - Attributes
    • Welcome to this Section | Inheritance
    • Section Resources & Slides
    • Introduction to Inheritance
    • Important Terminology and Tips
    • Inheritance in Context: Avoid Code Repetition
    • Inheritance | Concept
    • Basic Python Syntax
    • Check if a Class is a Subclass of another Class
    • How to Inherit Attributes Using __init__()
    • Inheritance | Syntax
    • How to use "super" to refer to the superclass
    • Coding Session #1: Ad Class & Hierarchy
    • Coding Session #2: Product Class & Hierarchy
    • Mammal & Panda: Attribute Inheritance
    • Multilevel Inheritance
    • Multiple Inheritance
    • Practice | From Hierarchy to Code
    • Pizza: Define the Classes & Hierarchy
    • Mini Project | Video Game Inheritance
    • Mini Project (PDF Version for Mobile App)
  • Inheritance - Methods
    • Welcome to this Section | Inheritance (Methods)
    • Section Resources & Slides
    • Introduction to Method Inheritance
    • Method Inheritance | Theory
    • Basic Python Syntax
    • How to Call a Method of the Superclass
    • Coding Session: Method Inheritance
    • Method Inheritance | Syntax
    • Call a Method of the Superclass
    • Method Overriding
    • Coding Session: Method Overriding
    • Common Confusion: Overriding vs. Overwriting
    • Method Overriding
    • Method Overriding
    • Method Overloading
    • Polymorphism
    • Mini Project | Vending Machines and Method Inheritance
    • Mini Project (PDF Version for Mobile App)
  • Working with Multiple Files & Import Statements
    • Welcome to this section | Working with Multiple Files
    • Section Resources & Slides
    • Why Work with Multiple Files?
    • Import Statements
    • Types of Imports
    • Import Statements
    • Coding Session: Multi-File Project
    • Section Quiz | Check Your Knowledge
    • Mini Project | Types of Import Statements
    • Mini Project (PDF Version for Mobile App)
  • Docstrings
    • Welcome to this section | Docstrings
    • Section Resources & Slides
    • Introduction to Docstrings
    • Docstrings | Theory
    • How to Write Docstrings | Syntax & Content
    • Quick Refresher: Exceptions
    • How to Document Classes
    • Example: Documenting Functions
    • Docstring Styles
    • Introduction to __doc__
    • Coding Session: __doc__
    • Docstrings | Syntax & Content
    • Section Quiz | Check Your Knowledge
    • Mini Project | Write the Documentation
    • Mini Project (PDF Version for Mobile App)
  • Special Methods
    • Welcome to this section | Special Methods
    • Section Resources & Slides
    • Introduction to Special Methods
    • Terminology: "Dunder"
    • Special Methods | Basics
    • Tour of the Python Documentation
    • __str__()
    • __str__() vs. __repr__()
    • __len__()
    • __getitem__()
    • __add__()
    • __bool__()
    • Relevant Connection: __bool__() and __len__()
    • Rich Comparison Methods
    • Section Quiz | Check Your Knowledge
    • Mini Project | Operator Overloading and Implementation
    • Mini Project (PDF Version for Mobile App)
  • Your Capstone Project: Dive into OOP with your Project
    • Capstone Project: Description
    • Submit Your Capstone Project
  • Congratulations | You Completed the Course
    • Congratulations!
    • Your Feedback is Greatly Appreciated
    • Download your Certificate of Completion


 TO MAC USERS: If RAR password doesn't work, use this archive program: 

RAR Expander 0.8.5 Beta 4  and extract password protected files without error.


 TO WIN USERS: If RAR password doesn't work, use this archive program: 

Latest Winrar  and extract password protected files without error.


 Gamystyle   |  

Information
Members of Guests cannot leave comments.




rss