VOOZH about

URL: https://www.coursera.org/learn/packt-intermediate-python-and-oop-j4fge

⇱ Intermediate Python and OOP | Coursera


Intermediate Python and OOP

Keep adding new skills with 10,000+ programs for $239 (usually $399). Save now.

Ask Coursera

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

Gain insight into a topic and learn the fundamentals.
Intermediate level

Recommended experience

1 week to complete
at 10 hours a week
Flexible schedule
Learn at your own pace

What you'll learn

  • Master exception handling techniques, including raising and catching custom exceptions.

  • Understand recursion and apply it to solve problems like calculating Fibonacci numbers and factorials.

  • Learn common searching and sorting algorithms to handle and optimize data efficiently.

  • Dive deep into Object-Oriented Programming concepts like inheritance, polymorphism, and method overloading.

Details to know

Shareable certificate

Add to your LinkedIn profile

Recently updated!

April 2026

Assessments

9 assignments

Taught in English

Build your subject-matter expertise

This course is part of the The Complete Python and Data Science Bootcamp Specialization
When you enroll in this course, you'll also be enrolled in this Specialization.
  • Learn new concepts from industry experts
  • Gain a foundational understanding of a subject or tool
  • Develop job-relevant skills with hands-on projects
  • Earn a shareable career certificate

There are 7 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. In this course, you will deepen your understanding of Python and Object-Oriented Programming (OOP) concepts, expanding your skills beyond the basics. You’ll learn how to handle exceptions and errors, use recursion, and optimize algorithms, while also gaining proficiency in complex data structures like dictionaries, sets, and tuples. With hands-on exercises and examples, you will apply these concepts in practical ways that strengthen your Python programming expertise. The course begins by teaching exception handling, focusing on how to differentiate between syntax and runtime errors, catch multiple exceptions, and raise custom exceptions. You'll then dive into recursion, implementing algorithms like factorials and Fibonacci sequences. Following this, you'll explore searching and sorting algorithms such as linear search, binary search, and quicksort, as well as gain experience with data structures like dictionaries and sets. The course culminates in the application of OOP principles, such as classes, inheritance, polymorphism, and unit testing. This intermediate-level course is ideal for learners who already have a basic understanding of Python and want to refine their skills in error handling, recursion, algorithms, and object-oriented programming. You'll apply your learning through coding exercises, examples, and a project that prepares you for more advanced Python programming. By the end of the course, you will be able to handle exceptions effectively, design and optimize algorithms, work with complex data structures, apply OOP principles to Python programs, and create tests for your code using pytest.

In this module, we will cover the fundamentals of exception and error handling in Python. You’ll learn how to distinguish between syntax errors and exceptions, handle multiple errors gracefully, and raise custom exceptions to ensure that your code is robust and reliable.

What's included

10 videos2 readings1 assignment

10 videosTotal 47 minutes
  • Syntax vs. Run-Time Errors14 minutes
  • TypeError in Average Function7 minutes
  • Catch All Errors3 minutes
  • Catch Multiple Exceptions6 minutes
  • Handling Exceptions Separately2 minutes
  • Using else and finally2 minutes
  • Safe Division Example3 minutes
  • Raising a Built-In Exception3 minutes
  • Example of Raising an Exception5 minutes
  • Raising a Custom Exception3 minutes
2 readingsTotal 20 minutes
  • Introduction to the Course 'Intermediate Python and OOP'10 minutes
  • Full Specialization Resources10 minutes
1 assignmentTotal 15 minutes
  • Exception and Error Handling - Assessment15 minutes

In this module, we will dive into recursive programming. You’ll explore how recursion works and compare it with iterative approaches for solving problems like calculating factorials and Fibonacci sequences. We will also focus on optimizing recursive solutions for improved performance.

What's included

6 videos1 assignment

6 videosTotal 43 minutes
  • Factorial Recursive vs. Non-Recursive Implementation7 minutes
  • Implementing the Exponential Function Using Recursion10 minutes
  • Simple Recursive Fibonacci5 minutes
  • Counting Number of Calls in Simple Recursive Fibonacci5 minutes
  • Assignment Expressions and Efficient Fibonacci10 minutes
  • Comparing the Run-Time of Fibonacci Implementations7 minutes
1 assignmentTotal 15 minutes
  • Recursive Programming - Assessment15 minutes

In this module, we will explore searching and sorting algorithms. You’ll learn how to search efficiently using linear and binary search and master sorting techniques, including BubbleSort, QuickSort, and MaxSort. We will also examine the computational complexity of each approach.

What's included

8 videos1 assignment

8 videosTotal 64 minutes
  • Linear Search Boolean5 minutes
  • Linear Search Return Index5 minutes
  • Searching a Sorted List—Bird's-Eye View of Binary Search6 minutes
  • Searching a Sorted List—Implementing Binary Search9 minutes
  • Worst-Case Run-Time Complexity: Linear vs. Binary Search8 minutes
  • MaxSort14 minutes
  • BubbleSort8 minutes
  • QuickSort7 minutes
1 assignmentTotal 15 minutes
  • Searching and Sorting Algorithms - Assessment15 minutes

In this module, we will introduce more advanced data structures beyond lists, including dictionaries, tuples, and sets. You’ll learn how to use these structures effectively, manipulate their data, and apply them to real-world problems like counting word frequencies and checking anagram relationships.

What's included

22 videos1 assignment

22 videosTotal 96 minutes
  • Introducing Dictionaries13 minutes
  • Safely Accessing Dictionaries Using the get Method4 minutes
  • Real-World Example Using Nested Data Structures and the get Method8 minutes
  • Dictionary Methods15 minutes
  • Introducing Tuples5 minutes
  • More on Tuples3 minutes
  • Tuple Methods index and count5 minutes
  • Introducing Sets7 minutes
  • Set Methods5 minutes
  • Exercise—Numbers to Superscripts2 minutes
  • Solution—Numbers to Superscripts4 minutes
  • Exercise—Word Frequency Counter with Optional Case Sensitivity2 minutes
  • Solution—Word Frequency Counter with Optional Case Sensitivity4 minutes
  • Exercise—Generate Square Dictionary1 minute
  • Solution 1—Square Dictionary3 minutes
  • Solution 2—Square Dictionary4 minutes
  • Exercise—Anagrams1 minute
  • Solution 1—Anagrams Using Character Frequency Counter4 minutes
  • Functions Within Functions2 minutes
  • Solution 2—Anagrams Using Sorting1 minute
  • Exercise—Unique Characters2 minutes
  • Solution—Unique Characters3 minutes
1 assignmentTotal 15 minutes
  • Data Structures Beyond Lists - Assessment15 minutes

In this module, we will dive deep into Object-Oriented Programming in Python. You’ll learn how to create and manage classes, implement inheritance and polymorphism, and use encapsulation to protect object data. We will also cover advanced features like operator overloading and dunder methods to customize object behavior.

What's included

14 videos1 assignment

14 videosTotal 116 minutes
  • Classes, Instance Attributes, Class Attributes, and Methods10 minutes
  • Encapsulation13 minutes
  • Inheritance8 minutes
  • Polymorphism7 minutes
  • Constructors and Destructors10 minutes
  • The hasattr Function10 minutes
  • The str and repr Methods7 minutes
  • Class Methods vs. Static Methods vs. Instance Methods11 minutes
  • Complex Numbers and Class, Static, and Instance Methods11 minutes
  • Custom Equality and Comparison Operators for Classes in Python10 minutes
  • Dunder (Magic) Methods3 minutes
  • Coding Exercise—Fraction Class and Magic Methods9 minutes
  • Coding Solution Part 1—Fractional Addition and Subtraction4 minutes
  • Coding Solution Part 2—Subtraction Alternative, str, repr4 minutes
1 assignmentTotal 15 minutes
  • Object-Oriented Programming - Assessment15 minutes

In this module, we will focus on unit testing using pytest. You’ll learn how to write and execute tests, utilize parameterization to run multiple test cases efficiently, and organize your codebase for effective testing. Unit testing will ensure that your code is functioning as expected and help maintain code quality.

What's included

5 videos1 assignment

5 videosTotal 42 minutes
  • Introduction to Unit Testing with pytest1 minute
  • Creating Our First Tests Using pytest9 minutes
  • Using pytest.mark.parametrize for Efficient Test Cases6 minutes
  • Solution to pytest.mark.parametrize Exercise14 minutes
  • Folder Structure11 minutes
1 assignmentTotal 15 minutes
  • Unit Testing with pytest - Assessment15 minutes

In this module, we will cover file handling and modular programming in Python. You’ll learn how to read and write text files, handle file exceptions, and use the with statement to ensure proper file management. Additionally, we will explore how to import built-in and custom modules to modularize your code effectively.

What's included

13 videos1 reading3 assignments

13 videosTotal 76 minutes
  • Getting Started—Reading Text Files7 minutes
  • The Methods read, readline, readlines9 minutes
  • Coding Exercise—Remove Comments2 minutes
  • Coding Solution—Remove Comments4 minutes
  • Writing to Text Files4 minutes
  • Writing to Files Using F-Strings4 minutes
  • Writing to Files Using Print1 minute
  • Leveraging the with Statement for Safe and Efficient Code3 minutes
  • File Access Mode16 minutes
  • File Exceptions2 minutes
  • File Methods7 minutes
  • Importing Modules and Custom Modules7 minutes
  • Importing Modules and Custom Modules Continued10 minutes
1 readingTotal 10 minutes
  • Conclusion to the Course 'Intermediate Python and OOP'10 minutes
3 assignmentsTotal 90 minutes
  • Full Course Practice Assessment15 minutes
  • File-Handling and Modules - Assessment15 minutes
  • Full Course Assessment60 minutes

Earn a career certificate

Add this credential to your LinkedIn profile, resume, or CV. Share it on social media and in your performance review.

Instructor

Offered by

Why people choose Coursera for their career

👁 Image

Felipe M.

Learner since 2018
"To be able to take courses at my own pace and rhythm has been an amazing experience. I can learn whenever it fits my schedule and mood."
👁 Image

Jennifer J.

Learner since 2020
"I directly applied the concepts and skills I learned from my courses to an exciting new project at work."
👁 Image

Larry W.

Learner since 2021
"When I need courses on topics that my university doesn't offer, Coursera is one of the best places to go."
👁 Image

Chaitanya A.

"Learning isn't just about being better at your job: it's so much more than that. Coursera allows me to learn without limits."

Frequently asked questions

Intermediate Python and OOP (Object-Oriented Programming) is a programming course focused on expanding your knowledge of Python beyond the basics and delving into more advanced topics. It covers essential concepts such as exception handling, recursion, sorting algorithms, advanced data structures, and OOP principles. This course is relevant because Python is one of the most widely used programming languages, and mastering these advanced concepts opens the door to building more complex and efficient software, especially in fields like software development, data science, and automation.

This course teaches you how to handle exceptions, implement recursive functions, use sorting and searching algorithms, and work with advanced data structures like dictionaries, tuples, and sets. You will also learn the core principles of Object-Oriented Programming (OOP), including classes, inheritance, and polymorphism. With practical examples and exercises, the course will help you master these advanced Python techniques and make you proficient in object-oriented programming, which is fundamental for developing large-scale software systems.

After completing this course, you will be proficient in handling errors, optimizing code with recursion and advanced algorithms, and using advanced Python data structures to manipulate and store data effectively. You will also have a strong understanding of Object-Oriented Programming, enabling you to design and implement reusable, maintainable code. You'll be able to write Python programs that are more efficient, scalable, and suitable for complex applications.

To enroll in this course, you should already have a basic understanding of Python programming, including familiarity with basic syntax, data types, loops, and conditionals. If you're comfortable with these introductory concepts, you’ll be ready to dive into the intermediate-level topics covered in this course.

This course is designed for individuals who have some experience with Python and want to deepen their understanding of the language. It is ideal for those looking to advance their programming skills, especially those interested in software development or other fields that require the ability to work with complex codebases. If you’re looking to build more sophisticated applications or transition to roles that involve object-oriented programming, this course will be very beneficial.

The course is designed to take approximately 12 hours to complete. This includes video lectures, hands-on exercises, and practical coding tasks. You can progress at your own pace, but most learners can comfortably finish it in a week if they dedicate a few hours each day to studying.

Yes, you can preview the first video and view the syllabus before you enroll. You must purchase the course to access content not included in the preview.

If you decide to enroll in the course before the session start date, you will have access to all of the lecture videos and readings for the course. You’ll be able to submit assignments once the session starts.

Once you enroll and your session begins, you will have access to all videos and other resources, including reading items and the course discussion forum. You’ll be able to view and submit practice assessments, and complete required graded assignments to earn a grade and a Course Certificate.

If you complete the course successfully, your electronic Course Certificate will be added to your Accomplishments page - from there, you can print your Course Certificate or add it to your LinkedIn profile.

This course is currently available only to learners who have paid or received financial aid, when available.

Yes. In select learning programs, you can apply for financial aid or a scholarship if you can’t afford the enrollment fee. If fin aid or scholarship is available for your learning program selection, you’ll find a link to apply on the description page.

Financial aid available,