The final project

Day 30: Graduation

Python guru sitting down with a screen instead of a face, and day 30 displayed on it.

Welcome to the final day of the 30 Days of Python series! If you've followed the series from the very beginning, you should be extremely proud of yourself. Well done!

We've covered a lot of ground this month, and I hope you now feel confident about tackling some small projects on your own.

If you're not already part of your community over on Discord, I'd recommend you join and get to know some of your fellow students. We're going to be setting up a special project channel where you can show off the things you're working on, and you may even find somebody to collaborate on something bigger.

Make sure you read to the end of the post as we have a cool graduation project for you to try!

Where to go from here

For the remainder of this post I want to talk about some potential next steps, so you have some direction now that the series has ended.

Work on your own projects

First things first, it's a good idea to think of some projects to tackle on your own. Programming is a highly practical activity, and getting better at it means you need to actually write some code. You wouldn't expect to get much better at running by just reading about running technique: you need to develop your muscles, or in this case, your brain.

If you want some simple projects to tackle, consider things like card games or game you might play with children. The rules for these games are simple, and many card games don't even require players, because the outcome is entirely determined by chance.

Alternatively, you may want to extend some of the projects we've worked on in this series into full blown applications with more complete functionality.

If you're stuck for project ideas, just type "Beginner Python Projects" into Google. There are entire pages dedicated to project ideas.

Our courses

We have a Complete Python Course which covers a tonne of more advanced material beyond what we've covered here. It also includes a number of taster sections where we introduce you to different areas of Python development, such as web development with Flask, GUI development with Tkinter, and topics like testing. If you want to get a better understanding of Python in general, or you're not sure which area you want to specialise in, the Complete Python Course is a great first step.

We offer several more advanced courses on Udemy, most of which specialise in some particular area of Python development.

Other free material

In addition to our courses on Udemy, we have plenty of content available for free on our YouTube channel.

We're also planning to do more live streams where we build projects or talk about topics like version management, and specialised areas of Python development. If that's something that interests you, make sure you subscribe at the bottom of this page so you don't miss out!

If you're interested in learning about working with databases in Python, we also have a free ebook on our site, which you can find here.


For the graduation project we're going to be building the classic video game Snake using a third party library called pygame.

Today's project is particularly large so there are two project posts for today.

The first is going to be a project preparation post which will walk you through everything you need to know about pygame. The second will contain a walkthrough for the entire project, and will also contain the project brief.

Good luck, and happy coding!