Skip to content

This textbook is in beta – content is actively being refined. Report issues or suggestions

Year 11 — The Object-Oriented Paradigm

This module introduces object-oriented programming (OOP) concepts through practical Python implementation, teaching students how to think in objects and design systems that model real-world relationships. Building on Programming Fundamentals, it shows how OOP enables better code organization, reusability, and maintainability.

Module Overview

The Object-Oriented Paradigm shifts programming thinking from procedures to objects, where data and behavior are encapsulated together. This module teaches both the conceptual foundations of OOP and practical implementation in Python, emphasizing design patterns that lead to maintainable, collaborative code.

Key focus areas:

  • Core OOP concepts (objects, classes, encapsulation, inheritance)

  • System modeling with diagrams and design processes

  • Python implementation of class designs

  • Code quality, testing, and optimization techniques

Learning Outcomes

Students will develop the ability to:

  • Apply software design processes including requirements analysis, system modeling, and decomposition (SE-11-01)

  • Implement object-oriented solutions using classes, objects, encapsulation, inheritance, and polymorphism (SE-11-02)

  • Use development tools for collaboration, version control, and code quality practices (SE-11-06)

  • Evaluate software solutions for correctness, maintainability, and effectiveness (SE-11-08)

Chapters

Chapter 5: OOP Foundations

Core object-oriented concepts including objects vs classes, encapsulation, abstraction, inheritance, polymorphism, and procedural vs OOP comparisons. Covers system modeling with class diagrams, structure charts, and data-flow diagrams, plus design processes and collaboration practices.

Chapter 6: Programming in OOP

Practical implementation of OOP designs in Python, including building classes, composition, control structures in methods, subroutine design, code quality practices, comprehensive testing strategies, and optimization techniques.

Implementation Philosophy

This module emphasizes design-first thinking with objects:

  • Python implementation of OOP concepts with practical examples

  • Progressive complexity from concepts to implementation

  • Visual modeling with diagrams

  • Emphasis on code maintainability and collaboration

  • Systematic testing and quality assurance practices

Prerequisites

  • Completion of Programming Fundamentals module

  • Basic Python programming skills (variables, functions, control structures)

  • Understanding of basic data structures

Getting Started

  1. Begin with Chapter 5 to understand OOP concepts and design processes

  2. Progress to Chapter 6 to implement OOP designs in Python

The module bridges conceptual understanding with practical coding skills, preparing students for larger software projects.