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

51,500 enrolled on this course

Educators are currently active on this course

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.

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.

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

Learning on this course

If you'd like to take part while our educators are leading the course, they'll be joining the discussions, in the comments, between these dates:

  • 4 Oct 2021 - 25 Oct 2021

On every step of the course you can meet other learners, share your ideas and join in with active discussions in the comments.

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 educators and students of a post-16 qualification.

What software or tools do you need?

Python 3

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

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

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

This course is part of our professional development teacher programme for the National Centre for Computing Education (NCCE). Our nationally-recognised certificates cater for all levels of teaching.

Funded by the Department for Education and supporting partners, we aim to transform the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

Endorsers and supporters

supported by

Google logo

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


$189.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.

Available until 22 November 2021 at 23:59 (UTC). T&Cs apply.

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps, but you can complete them as quickly or slowly as you like
  • Learn through a mix of bite-sized videos, long- and short-form articles, audio, and practical activities
  • Stay motivated by using the Progress page to keep track of your step completion and assessment scores

Join a global classroom

  • Experience the power of social learning, and get inspired by an international network of learners
  • Share ideas with your peers and course educators on every step of the course
  • Join the conversation by reading, @ing, liking, bookmarking, and replying to comments from others

Map your progress

  • As you work through the course, use notifications and the Progress page to guide your learning
  • Whenever you’re ready, mark each step as complete, you’re in control
  • Complete 90% of course steps and all of the assessments to earn your certificate

Want to know more about learning on FutureLearn? Using FutureLearn

Learner reviews

Learner reviews cannot be loaded due to your cookie settings. Please and refresh the page to view this content.

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.