Skip to 0 minutes and 3 seconds What is object-oriented programming? What’s the difference between a function and a method? How can you write your own text-based adventure game using Python? This free course will introduce you to the fundamentals of object-oriented programming. You’ll explore classes, methods, and attributes, and you’ll learn about abstraction, inheritance, and polymorphism. You’ll also take part in practical activities to extend existing classes and create your own programs. This four-week course contains peer-led discussions, trainer interaction, and feedback on your knowledge as you progress. You can learn whenever and wherever you want. So whether you’re a teacher with students of your own or simply curious about Python, this course will help you take your first steps in object-oriented programming. Sign up now at rpf.io/oop.
Learn object-oriented programming principles by creating your own text-based adventure game in Python. Supported by Google.

- Duration4 weeks
- Weekly study2 hours
- 100% onlineTry this course for free
Object-oriented Programming in Python: Create Your Own Adventure Game
A fun introduction to object-oriented programming in Python
Object-oriented programming is a programming paradigm based on objects and data rather than actions and logic.
This online course will introduce you to the principles of object-oriented programming in Python, showing you how to create objects, functions, methods, and classes.
You’ll use what you learn to create your own text-based adventure game. You will have the chance to share your code with other learners, and see theirs.
If you’re an educator, you’ll also be able to develop ideas for using object-oriented programming in your classroom.
Syllabus
Week 1
Using objects
Introducing the aims of the course
Introducing the aims of the course.
What is an object?
Learn what we mean by an object in a program. You may well have encountered objects before in your programs without realising it.
Write a program using an object
A class is like a blueprint or a template for an object. This week we will get used to creating and using objects by using classes other people have written.
Recap week 1
You've now written your first program using objects! Take the quiz to find out how much you have understood.
Week 2
Creating classes
Welcome to Week 2
Last week we experimented with creating objects, setting attributes, and calling methods. Now you will learn how to write your own classes in order to create custom objects.
Start to create your object-oriented text-based adventure game
Create your own Room class as the basis of your text based-adventure game.
Recap Week 2
You have now created your own Room class which acts as a template for making rooms in your game. Let's recap the terms you have learnt this week.
Week 3
Extending classes
Extend other people’s classes
First we will learn about inheritance by extending a class written by someone else.
Create an enemy in the room
We have written a class for creating an enemy, so let’s add Dave the zombie to our game.
Recap Week 3
You have created your own Enemy class, and added more possibilities for the user to interact with your game world. Let's recap the new concepts you have learnt about this week.
Week 4
Extending your game and your OOP knowledge
Welcome to Week 4
This week we will look at how class variables differ from instance variables, and then we will finish our game.
Extending your knowledge of OOP
Learn about different types of attributes and methods in OOP. Then use some of them to create an object that describes your game.
Finish your game
Add the finishing touches to your game, and share it!
End of the course
Recap what you have learnt this week, and decide on your next steps.
When would you like to start?
Start straight away and learn at your own pace. If the course hasn’t started yet you’ll see the future date listed below.
Available now
What will you achieve?
By the end of the course, you‘ll be able to...
- Explore using objects in programming, and understand the difference between a function and an object.
- Develop your understanding of how writing your own class allows you to combine functions and data.
- Demonstrate extending other people’s classes, including inheritance and polymorphism.
- Produce a module to apply your learning of object oriented programming.
- Collaborate by sharing your code with other people.
Who is the course for?
This course is designed for people who are already familiar with Python programming and want to learn a different programming paradigm, understand and use existing libraries more effectively, or create code which is useful to other people.
It will be particularly useful for A level educators and students.
What software or tools do you need?
Python 3 or Trinket.
What do people say about this course?
Best short course I've done. I've learnt programming concepts I've struggled with previously without even trying.
Charlie Plumley
This was such a simple and informative course, I learnt things that I was previously confused about. I'm not an expert but I am proud to say that I now know so much more than before I started this course.
Alliyah A.
Who will you learn with?
Laura creates and maintains Raspberry Pi educational resources. Aside from computers, she loves cats, cakes, board games and making jam.
I love technology and creating projects and learning resources for Raspberry Pi. As a child I wanted to be either a computer scientist, astronaut or snowboard instructor.
Learner reviews
Join this course
Start this course for free, upgrade for extra benefits, or buy Unlimited to access this course and hundreds of other short courses for a year.
Free
$0
Join free and you will get:
Upgrade
$44
Upgrade this course and you will get:
Unlimited
(New!)
$279.99
for one year
Buy Unlimited and you will get:
Do you know someone who’d love this course? Tell them about it...
You can use the hashtag #RPiLearn to talk about this course on social media.