Python Object-Oriented Programming

Python OOP — class APIs, invariants, inheritance, composition, polymorphism, and dunders with graded labs.

Duration
12 weeks
Certificates
2
CO threshold
70%
Price
₹5,000 (one-time access)

Tagline: Python OOP — class APIs, invariants, inheritance, composition, polymorphism, and dunders with graded labs.

Field Value
Course code PY-OOP-A
Duration 12 weeks
Credits 4
Compliance NBA-aligned OBE
Prerequisite PY-FUND-A or equivalent Python
Publication published
Price INR 5000
DB snapshot 2026-10-08T15:04:29.266Z

Course objective

Design and implement clear Python class APIs with invariants, inheritance, composition, polymorphism, and dunders — preparing learners for PY-DS-A (data structures built with OOP).

Course outcomes (CO1–CO6)

CO Bloom Weight Statement
CO1 understand 17% Define classes and instances with init, attributes, and methods under the python_applied grading contract.
CO2 apply 17% Enforce encapsulation and invariants using validation, safe mutators, and properties.
CO3 apply 16% Collaborate between objects and apply duck typing / informal protocols for interchangeable behavior.
CO4 apply 17% Use inheritance, overrides, and super() correctly; explain MRO at a lite level.
CO5 analyze 16% Choose composition vs inheritance and implement polymorphic designs with clear responsibilities.
CO6 evaluate 17% Implement key special methods, classmethod/staticmethod/ABC patterns, and a multi-class capstone.

Activity totals (live from platform)

Metric Count
Units / chapters 13
Topics 98
Topic quiz activities 632
MCQ questions 632
Practice labs 0
Evaluated coding labs 207
Instructional content blocks 582

Certificates & earning criteria

Certificate CO scope Evaluated lab quota CO attainment Gate
Python OOP Foundations CO1–CO4 ≥ 90% ≥ 70% Python OOP Foundations summative quiz
Python OOP Professional CO1–CO6 ≥ 95% ≥ 70% Python OOP Professional end-of-course capstone

Unit syllabus (unit → topics → activities)

Unit 1 — Why objects? Class & instance

Unit totals: 13 topics · 90 MCQ questions · 0 practice · 7 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 When a dict is not enough 8 0 0 —
2 The four pillars of OOP — oral definitions 8 0 0 —
3 Encapsulation & abstraction — oral answers 6 0 0 —
4 Inheritance & polymorphism — oral answers 6 0 0 —
5 How evaluation works on this course 8 0 0 —
6 Scenario in, result dict out 6 0 1 —
7 Your first solve submission 6 0 1 —
8 Class blueprint vs instance 6 0 0 —
9 init and constructing objects 8 0 2 —
10 Attributes on self 6 0 1 —
11 Methods bound to instances 6 0 1 —
12 Mini project: Book / Rectangle 6 0 1 —
13 Interview prep: class & instance 10 0 0 —

Unit 2 — Encapsulation & invariants

Unit totals: 7 topics · 48 MCQ questions · 0 practice · 10 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Public vs _internal convention 6 0 2 —
2 Invariants — what must stay true 8 0 0 —
3 Validating in init 6 0 2 —
4 Mutating safely via methods 6 0 2 —
5 Getters as methods (before property) 6 0 2 —
6 Lab pack: BankAccount / Temperature 6 0 2 —
7 Interview prep: encapsulation & invariants 10 0 0 —

Unit 3 — Methods, self, and collaboration

Unit totals: 8 topics · 52 MCQ questions · 0 practice · 11 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Tracing self on method calls 8 0 0 —
2 Methods calling other methods 6 0 2 —
3 Objects using other objects 6 0 2 —
4 Returning new objects vs mutating 6 0 2 —
5 Default equality is identity 6 0 0 —
6 Lab Order + LineItem collaboration 6 0 2 —
7 Preview practice: Units 1–3 4 0 3 —
8 Interview prep: self & collaboration 10 0 0 —

Unit 4 — Properties & controlled access

Unit totals: 7 topics · 46 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 @property for derived values 6 0 2 —
2 @property + setter validation 6 0 2 —
3 Read-only properties 6 0 2 —
4 When not to use properties 8 0 1 —
5 Lab: Circle + Person property capstone 6 0 1 —
6 Integration assessment: Units 1–4 4 0 8 —
7 Interview prep: properties & controlled access 10 0 0 —

Unit 5 — Abstraction & duck typing

Unit totals: 7 topics · 46 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 What abstraction means in code 8 0 1 —
2 Duck typing — if it quacks 6 0 2 —
3 Same client code, different objects 6 0 2 —
4 Informal method contracts 6 0 1 —
5 Lab: draw() without inheritance 6 0 2 —
6 Integration assessment: Units 1–5 4 0 8 —
7 Interview prep: abstraction & duck typing 10 0 0 —

Unit 6 — Inheritance basics

Unit totals: 8 topics · 54 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 is-a relationships 8 0 0 —
2 Writing a subclass 6 0 2 —
3 Inheriting methods 6 0 1 —
4 Subclass-only attributes and methods 6 0 2 —
5 isinstance / type judgment 6 0 1 —
6 Lab: Employee / Vehicle hierarchies 6 0 2 —
7 Integration assessment: Units 1–6 4 0 8 —
8 Python OOP Foundations summative quiz 12 0 0 —

Unit 7 — super(), overrides, MRO lite

Unit totals: 8 topics · 52 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Overriding a method 6 0 1 —
2 Extending with super() 6 0 2 —
3 Overriding init safely 6 0 2 —
4 Multiple inheritance — when it hurts 8 0 0 —
5 MRO lite 6 0 1 —
6 Lab: Logger / TrackedAccount 6 0 2 —
7 Integration assessment: Units 1–7 4 0 8 —
8 Interview prep: super(), overrides & MRO 10 0 0 —

Unit 8 — Composition vs inheritance

Unit totals: 7 topics · 46 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 has-a vs is-a 8 0 0 —
2 Composition in code 6 0 3 —
3 Refactor a bad hierarchy 6 0 1 —
4 Delegation lite 6 0 2 —
5 Lab: Library / Car+engine 6 0 2 —
6 Integration assessment: Units 1–8 4 0 8 —
7 Interview prep: composition & delegation 10 0 0 —

Unit 9 — Polymorphism in practice

Unit totals: 8 topics · 52 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Polymorphism via inheritance 6 0 2 —
2 Polymorphism vs duck typing 8 0 1 —
3 Collections of mixed subclasses 6 0 1 —
4 Template-method lite 6 0 2 —
5 Avoiding god classes 6 0 0 —
6 Lab: payments / notifications 6 0 2 —
7 Integration assessment: Units 1–9 4 0 8 —
8 Interview prep: polymorphism 10 0 0 —

Unit 10 — Special methods (dunders)

Unit totals: 9 topics · 56 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 str vs repr 6 0 2 —
2 eq and hashing lite 6 0 1 —
3 Ordering with lt 6 0 1 —
4 Arithmetic dunders lite 6 0 1 —
5 len / getitem 6 0 1 —
6 Context manager lite 6 0 1 —
7 Money: str and eq 6 0 1 —
8 Integration assessment: Units 1–10 4 0 8 —
9 Interview prep: special methods & dunders 10 0 0 —

Unit 11 — classmethod, staticmethod, ABC

Unit totals: 8 topics · 52 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 @staticmethod 6 0 2 —
2 @classmethod alternate constructors 6 0 2 —
3 Class vs instance attributes 6 0 1 —
4 Abstract base classes 6 0 1 —
5 ABC vs duck typing judgment 8 0 0 —
6 Lab: shape ABC + from_* constructor 6 0 2 —
7 Integration assessment: Units 1–11 4 0 8 —
8 Interview prep: classmethod, staticmethod & ABC 10 0 0 —

Unit 12 — Exceptions, modules, capstone

Unit totals: 7 topics · 38 MCQ questions · 0 practice · 16 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 Custom exception classes 6 0 3 —
2 Organizing classes across modules 8 0 0 —
3 Dataclasses lite 6 0 2 —
4 Capstone design sketch 6 0 0 —
5 Capstone A — library catalog system 4 0 2 —
6 Integration assessment: Units 1–12 4 0 8 —
7 Python OOP Professional end-of-course capstone 4 0 1 —

Unit 13 — OOP Playground

Unit totals: 1 topics · 0 MCQ questions · 0 practice · 35 evaluated labs

# Topic MCQs Practice Evaluated Preview
1 OOP practice bank 0 0 35 —

Counts are from the live course catalog. MCQs = questions in topic checkpoint quizzes. Practice = formative run-only or SQL practice lane. Evaluated = submit-graded labs that count toward progress and certificates.

← All paid courses · LLM site guide