Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

Coursera

Mastering Python Programming: Apply, Analyze, and Build

EDUCBA via Coursera

Overview

Google, IBM & Meta Certificates – 40% Off
One Coursera Plus subscription covers most Professional Certificates on Coursera.
Unlock All Certificates
Advance beyond Python syntax and learn to design modular, reusable, and efficient applications with functional programming and object-oriented programming. Designed for learners who understand Python fundamentals, this course develops practical skills in function design, recursion, data structures, variable scope, and functional tools such as map() and filter(). You’ll apply polymorphism, encapsulation, inheritance, class namespaces, and multiple inheritance to create flexible, reusable class structures. You’ll construct and manage built-in and custom exceptions, customize objects with init and super(), and implement sequence and mapping protocols using special methods. You’ll also work with static and class methods, property-based attribute access, custom iterators, and recursive generators. By the end of the course, you’ll be able to decompose structured problems, build reusable functions and classes, manage errors reliably, customize object behavior, and process sequential or recursive data efficiently. What makes this course distinctive is its progressive integration of functional design, advanced Python OOP, and hands-on problem solving. Enroll to strengthen your software design skills and write expressive, maintainable, and Pythonic applications with confidence.

Syllabus

  • Module 1: Functional Programming Foundations
    • This module introduces foundational programming concepts in Python with a focus on abstraction and functional design. Learners will explore how to build and reuse functions, pass parameters effectively, and apply these principles to solve structured problems. Through hands-on examples, they will understand how to decompose complex problems, work with mutable data structures, and reverse processes using Pythonic techniques. The module aims to build clarity around scoping, parameter passing, and iterative transformation of data.
  • Module 2: Recursion and Functional Patterns
    • This module explores the foundational and advanced aspects of recursion in Python, along with the use of functional programming tools. Learners will delve into variable scope and nested environments, understand the mechanics of recursive function calls, and apply recursion to classic problems such as factorials, exponentiation, and binary search. In addition, learners will harness the power of Python's built-in functional utilities like map() and filter() to process data efficiently and declaratively.
  • Module 3: Object-Oriented Programming - Core Concepts
    • This module introduces core object-oriented programming (OOP) principles in Python, including polymorphism, encapsulation, and inheritance. Learners will explore how to define class attributes and methods, override functionality across subclasses, restrict access to internal data using encapsulation, and create flexible designs that use shared behavior across multiple types. Through hands-on examples, learners will gain experience with customizing object behavior and managing access to class internals using Python’s naming conventions and object-oriented syntax.
  • Class Mechanics and Exception Handling
    • This module explores advanced object-oriented programming concepts in Python, including the structure and behavior of class namespaces, multiple inheritance, and robust error-handling mechanisms. Learners will understand how Python manages class and object attributes, how to define and manage multiple superclasses, and how to construct and handle exceptions using custom exception classes. The module also demonstrates best practices for catching, raising, and managing multiple exceptions within Python functions, allowing learners to write safer, more maintainable code.
  • Constructor Logic and Data Types
    • This module focuses on the use of constructors, class inheritance tools, and special methods that enable Python objects to behave like built-in data structures. Learners will gain insight into constructor customization using __init__, access parent functionality using super(), and implement sequence and mapping behavior using magic methods like __getitem__, __setitem__, and __len__. The module concludes with lessons on subclassing and enhancing class functionality by overriding or extending existing behavior, allowing learners to build complex, reusable, and Pythonic object models.
  • Module 6: Advanced Object-Oriented Features
    • This module explores specialized object-oriented features in Python, including the use of static and class methods, property-based attribute access, and iteration protocols. Learners will understand how to use decorators like @staticmethod and @classmethod, intercept attribute access with __getattr__, and implement both custom iterators and recursive generators. Through these topics, learners will enhance their ability to write Pythonic, reusable, and memory-efficient code using advanced techniques in class design and data handling.

Taught by

EDUCBA

Reviews

4.8 rating at Coursera based on 21 ratings

Start your review of Mastering Python Programming: Apply, Analyze, and Build

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.