Object Oriented Python
Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.
Object Oriented Python
Included with
Learn more
Ask Coursera
Recommended experience
Recommended experience
What you'll learn
Understand the core principles of Object-Oriented Programming and how they apply to Python.
Learn how to create classes, objects, and methods in Python, and apply OOP best practices.
Master inheritance, polymorphism, and composition for more modular and scalable Python code.
Build and refactor a text-based adventure game using Object-Oriented Python.
Skills you'll gain
Tools you'll learn
Details to know
May 2026
10 assignments
See how employees at top companies are mastering in-demand skills
There are 9 modules in this course
This course features Coursera Coach!
A smarter way to learn with interactive, real-time conversations that help you test your knowledge, challenge assumptions, and deepen your understanding as you progress through the course. This comprehensive course will help you master the core concepts of Object-Oriented Programming (OOP) in Python. You will begin with the foundational principles of OOP, such as classes, objects, inheritance, and polymorphism, and how they apply to Python. By learning these concepts, you will be able to write clean, modular, and maintainable code, adhering to the DRY (Don't Repeat Yourself) principle. As you progress, you'll tackle more advanced topics such as extending classes with single and multiple inheritance and using composition effectively. The course is designed as a practical, hands-on journey. You will first set up Python and your IDE environment to begin coding, followed by learning about creating and using classes and objects. Throughout the course, you'll also be tasked with building and refactoring a simple text-based adventure game, MonsterSlash, in Python. As the course advances, you will refine the game by adding more complex features like player-enemy interactions, attacks, and improved game design. This course is suitable for anyone interested in learning Python programming with a focus on OOP. Whether you're a beginner looking to understand object-oriented principles or an intermediate Python developer wanting to sharpen your skills, this course has something for you. No prior knowledge of OOP is required, but a basic understanding of Python programming is helpful. By the end of the course, you will be able to confidently design and implement object-oriented programs in Python, use inheritance and polymorphism to create reusable code, refactor your programs for better efficiency, and build interactive applications such as text-based games. You will also develop the ability to critically analyze and improve your code to meet industry standards.
In this module, we will introduce you to the world of Object-Oriented Programming (OOP) using Python. You will learn the fundamentals of OOP, including how to create classes and objects, as well as how to use inheritance to make your code more efficient and maintainable.
What's included
1 video1 reading
1 videoβ’Total 3 minutes
- Overviewβ’3 minutes
1 readingβ’Total 10 minutes
- Full Course Resourceβ’10 minutes
In this module, we will guide you through the installation and setup of Python, helping you choose the right text editors and IDEs for coding. You'll also get hands-on experience with testing Python scripts in the REPL, ensuring a smooth start to your programming journey.
What's included
1 video1 assignment
1 videoβ’Total 26 minutes
- Installation and Setupβ’26 minutes
1 assignmentβ’Total 15 minutes
- Installation - Assessmentβ’15 minutes
In this module, we will dive deep into the core principles of Object-Oriented Programming, including encapsulation, abstraction, inheritance, and polymorphism. By the end, you will have a solid understanding of how to implement these concepts in Python.
What's included
1 video1 assignment
1 videoβ’Total 16 minutes
- What is Object Oriented Programmingβ’16 minutes
1 assignmentβ’Total 15 minutes
- OOP - Assessmentβ’15 minutes
In this module, we will teach you how to create classes and objects in Python. Youβll also learn how to add methods to these objects and understand important considerations for working with these key OOP features in your projects.
What's included
1 video1 assignment
1 videoβ’Total 32 minutes
- Creating Classes and Objects in Pythonβ’32 minutes
1 assignmentβ’Total 15 minutes
- Objects and Classes - Assessmentβ’15 minutes
In this module, we will explore extending classes in Python, focusing on both single and multiple inheritance. You'll also learn about composition and why itβs often considered a better practice than inheritance in many cases.
What's included
2 videos1 assignment
2 videosβ’Total 54 minutes
- Extending Classesβ’24 minutes
- Extending Classes Part 2β’31 minutes
1 assignmentβ’Total 15 minutes
- Extending Classes - Assessmentβ’15 minutes
In this module, we will build a simple text-based game, MonsterSlash, using Object-Oriented Python. You will design the gameβs characters (the player and enemy) and establish the mechanics for player-enemy engagement.
What's included
2 videos1 assignment
2 videosβ’Total 52 minutes
- Let's Build It MonsterSlash v.1β’22 minutes
- Let's Build It MonsterSlash v.1 Part 2β’30 minutes
1 assignmentβ’Total 15 minutes
- MonsterSlash - Assessmentβ’15 minutes
In this module, we will focus on refactoring the MonsterSlash game, improving its code quality and performance. Youβll learn how to streamline your game code and extend its features while adhering to OOP best practices.
What's included
1 video1 assignment
1 videoβ’Total 18 minutes
- MonsterSlash v.1 Game Refactorβ’18 minutes
1 assignmentβ’Total 15 minutes
- Game Refractor - Assessmentβ’15 minutes
In this module, we will dive into the process of refactoring the actor code in the MonsterSlash game. You will learn how to clean up and optimize your code by applying Object-Oriented Python concepts, while also extending the player and enemy features to make them more dynamic and functional.
What's included
1 video1 assignment
1 videoβ’Total 26 minutes
- MonsterSlash v.1 Actor Refactorβ’26 minutes
1 assignmentβ’Total 15 minutes
- Actor Refractor - Assessmentβ’15 minutes
In this module, we will extend MonsterSlash by adding new gameplay features such as enemy attacks and complex interactions. You'll use advanced OOP techniques to make the game more dynamic and enjoyable for players.
What's included
2 videos3 assignments
2 videosβ’Total 47 minutes
- MonsterSlash v.2 Enemies Attackβ’25 minutes
- MonsterSlash v.2 Enemies Attack Part 2β’22 minutes
3 assignmentsβ’Total 90 minutes
- Full Course Practice Assessmentβ’15 minutes
- Extending the Game - Assessmentβ’15 minutes
- Full Course Assessmentβ’60 minutes
Instructor
Offered by
Explore more from Software Development
- Status: Free Trial
- Status: Free TrialU
University of Colorado Boulder
Course
- Status: Free Trial
Course
Why people choose Coursera for their career
Frequently asked questions
Object-Oriented Python focuses on teaching the principles of Object-Oriented Programming (OOP) using Python as the primary language. OOP is a fundamental programming paradigm that is widely used in software development. It allows developers to organize and manage code in a more structured and reusable manner by defining objects, classes, and methods. Learning Object-Oriented Python is essential as it lays the groundwork for creating maintainable, scalable, and efficient programs in Python, which is a skill in high demand across various industries.
This course introduces learners to the core principles of Object-Oriented Programming (OOP) in Python. The content includes creating classes and objects, using inheritance to reduce code redundancy, and applying the DRY (Don't Repeat Yourself) principle. It also covers extending classes, both single and multiple inheritance, and composition as a best practice. The course culminates in a hands-on project where learners build a text-based adventure game called MonsterSlash, allowing them to apply OOP principles in a practical, fun scenario.
After completing this course, you will be able to design and implement Object-Oriented programs in Python. You will understand how to create and manage classes and objects, extend existing classes using inheritance, and apply advanced OOP principles like composition and polymorphism. Additionally, you will have hands-on experience with building a simple game in Python using Object-Oriented techniques, which will help solidify your understanding of OOP in real-world applications.
More questions
Financial aid available,
