• raspberry pi
  • National Centre for Computing Education logo

Object-oriented Programming in Python: Create Your Own Adventure Game

Learn object-oriented programming principles by creating your own text-based adventure game in Python. Supported by Google.

43,067 enrolled on this course

Object-oriented Programming in Python: Create Your Own Adventure Game
The CPD Certification Service

This course has been certified by the CPD Certification Service as conforming to continuing professional development principles. Find out more.

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.

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.


  • 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.

Who is this accredited by?

The CPD Certification Service
The CPD Certification Service:

The CPD Certification Service was established in 1996 and is the leading independent CPD accreditation institution operating across industry sectors to complement the CPD policies of professional and academic bodies.

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.

Who developed the course?

Raspberry Pi Foundation

The Raspberry Pi Foundation works to put the power of digital making into the hands of people all over the world, so they are capable of understanding and shaping our increasingly digital world.

National Centre for Computing Education

National Centre for Computing Education courses


supported by

Google logo

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.


Join free and you will get:

  • Access to this course for 6 weeks


Upgrade this course and you will get:

  • Access to this course for as long as it’s on FutureLearn
  • A print and digital Certificate of Achievement once you’re eligible

Unlimited (New!)
$279.99 for one year

Buy Unlimited and you will get:

  • Access to this course, and hundreds of other FutureLearn short courses and tests for a year
  • A printable digital Certificate of Achievement on all short courses once you’re eligible
  • The freedom to keep access to any course you've achieved a digital Certificate of Achievement on, for as long as the course exists on FutureLearn
  • The flexibility to complete your choice of short courses in your own time within the year
Find out more about upgrades or Unlimited.