• raspberry pi
  • National Centre for Computing Education logo

Programming with GUIs

Learn what a Graphical User Interface is and write your own GUI-based applications with this practical course for teachers.

10,303 enrolled on this course

A set of GCSE students working at computers
  • Duration

    3 weeks
  • Weekly study

    2 hours
  • Accreditation

    AvailableMore info
The CPD Certification Service

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

Gain hands-on experience building your own python GUI interface

Are you a beginner at Python, hoping to improve your programming knowledge and build your own GUI? This 3-week course, aimed at computer science teachers in particular, will teach you how to create your own Graphical User Interface (GUI) with guizero.

Experiment with widgets and understand event-driven programming

On this course supported by Google, you will learn how to incorporate more interactivity in your program to make it interesting.

You will experiment with different types of widgets and build the confidence to design more complex GUI-based apps in the future.

Master user experience and create a GUI-based game

We’ll concentrate on user experience by showing you how to improve the layout of your GUI. You’ll learn how to put widgets inside boxes, change their size and alignment, and give users access to more controls.

At the end of the course, you’ll put everything that you’ve learnt into practice to make an emoji-matching game.

Download video: standard or HD

Skip to 0 minutes and 2 seconds How can you design and create interactive visual applications using Python programming? This course will teach you how to create graphical user interfaces or GUIs in Python. You’ll learn how to use event driven programming with the GUI zero package to make interactive apps using widgets, like buttons and text boxes. By the end of this three week hands on course, you will have made your own name generator app, text editor, and emoji matching game. This free course contains peer led discussions, trainer interaction, and feedback on your knowledge as you progress. You can learn whenever and wherever you want.

Skip to 0 minutes and 40 seconds Whether you’re a teacher with students of your own or simply curious about improving your Python programming skills, this course will help you understand how to create GUIs to make your code interactive. Sign up now at rpf.io/guis.

What topics will you cover?

  • Using widgets to build a GUI
  • Responding to user inputs using events
  • Reading and modifying the properties of widgets
  • Designing GUIs and using boxes and either auto or grid layouts to implement them
  • Adjusting the appearance of your GUI to improve the user experience
  • Using time-based events
  • Decomposing a project to make it more manageable

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.

Learning on this course

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

  • Experiment with different widgets that can be used to build a GUI
  • Develop a GUI that responds to the user through the use of events
  • Explain how event driven programming works, and the differences between an event driven program and a procedural program
  • Produce a countdown timer using guizero's built-in methods
  • Design several different GUIs, including a text editor and a picture-matching game

Who is the course for?

This course is designed for teachers delivering computer science lessons up to GCSE level or equivalent. It’s aimed at teachers who have basic experience with Python. If you don’t have much experience with Python, perhaps complete Programming 101: An Introduction to Python for Educators first.

What software or tools do you need?

To take part in this course you’ll need to download Python and install the guizero library.

What do people say about this course?

Now I feel way more confident.

"This course was very informative and it helped give me a better understanding into GUIs. I had no prior knowledge on how to use GUIs and now I feel way more confident."

Who will you learn with?

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 the National Centre for Computing Education (NCCE). Funded by the Department for Education and partners, we aim to change the way computing is taught in schools across England, and enable more young people to benefit from studying this important subject.

If you are a teacher in England you can get free upgraded access to this course, and use it towards NCCE certification. To do this, you must join the course through the Teach Computing website

Endorsers and supporters

supported by

Google logo

Learning on FutureLearn

Your learning, your rules

  • Courses are split into weeks, activities, and steps to help you keep track of your learning
  • 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...