Offline-ready lesson · progress saves on this device
Typing practiceStudy workspace →
Courses/Intermediate Python/Lesson 4

Lesson 4 of 5

Object-Oriented Programming

Read the overview in
English overview

Model related data and behavior with classes and objects, initialize unique state through constructors, and use encapsulation, inheritance, and polymorphism intentionally.

1 hr 15 minIntermediateDetailed notes6 flashcards + 6 questions
Course outlineIntermediate Python

Why this lesson matters

Model related data and behavior with classes and objects, initialize unique state through constructors, and use encapsulation, inheritance, and polymorphism intentionally.

The goal is not to memorize vocabulary. By the end of the lesson, you should be able to use the ideas in a realistic situation, explain the reason for your choices, and check whether the result actually works for the intended person or task.

Learning objectives

  • Explain Class in your own words.
  • Apply Object to a realistic classroom or community example.
  • Connect Class with Encapsulation when making a decision.
  • Complete the practice task and reflect on one improvement.

Core ideas

1. Class

A blueprint that defines the attributes and methods shared by objects of the same conceptual type.

In practice: Look for this idea while you complete the lesson task. Pause before each major step and explain how Class changes what you choose, create, or check.

2. Object

A concrete instance of a class with its own state while using the behavior defined by the class.

In practice: Look for this idea while you complete the lesson task. Pause before each major step and explain how Object changes what you choose, create, or check.

3. Encapsulation

Keeping related data and operations together behind a clear interface so internal details can change without breaking callers.

In practice: Look for this idea while you complete the lesson task. Pause before each major step and explain how Encapsulation changes what you choose, create, or check.

How the ideas connect

Start with Class to understand the foundation of the lesson. Use Object to turn that understanding into an action. Then apply Encapsulation to check the quality, safety, or usefulness of the result. The three ideas are strongest when you can explain their relationship rather than treating them as separate definitions.

Guided walkthrough

  1. Name the goal. In one sentence, write what you are trying to understand, create, or improve.
  2. Make a prediction. Before touching a device, use Class and Object to predict what a strong result should look like.
  3. Complete the task. Design a Course class with title, learner count, and completed lessons. Add methods to record completion and calculate progress, then create two independent course objects.
  4. Check the outcome. Use Encapsulation to inspect the result. Ask what worked, what did not, and what evidence supports your judgment.
  5. Explain and revise. Tell a partner what you changed and why. Make one small improvement, then compare the new result with the first one.

Worked classroom scenario

Imagine two learners sharing one device. The first learner is the driver and performs the steps; the second is the navigator and reads the goal, predicts the next step, and checks the result. Halfway through the task, switch roles. Both learners should be able to explain how Class, Object, and Encapsulation appeared in the work.

If no device is available, complete the same reasoning on paper: sketch the screen or result, label each decision, and describe what you would test when a device becomes available.

Common mistakes and fixes

  • Rushing into the tool: Write the goal and prediction first so every click or step has a reason.
  • Copying without understanding: After each major step, explain it in your own words to a partner.
  • Accepting the first result: Compare the outcome with the goal and make at least one deliberate improvement.
  • Letting one person control a shared device: Rotate driver and navigator roles so both learners think and practice.

Independent practice

Design a Course class with title, learner count, and completed lessons. Add methods to record completion and calculate progress, then create two independent course objects.

For an extra challenge, adapt the task for a different audience or community need. Write two sentences explaining what changed and which lesson idea guided your decision.

Check your understanding

  1. How would you explain Class to someone new to the topic?
  2. What is one realistic example of Object outside this classroom?
  3. When might Encapsulation prevent a weak, unsafe, or confusing result?
  4. How are Class and Object connected?
  5. What evidence would convince you that your practice result works?
  6. If you repeated the activity tomorrow, what would you improve first and why?

Key takeaway

Model related data and behavior with classes and objects, initialize unique state through constructors, and use encapsulation, inheritance, and polymorphism intentionally.

You are ready to move on when you can explain the three core ideas, complete the practice without copying, and describe one improvement using evidence from your result.