DEV Community

Cover image for 15+ practical Python projects with full walk-through tutorials

15+ practical Python projects with full walk-through tutorials

Gareth Dwyer πŸ‡ΏπŸ‡¦
Software engineer and writer I'm interested in sharing knowledge through Technical Writing, web dev, and NLP.
Originally published at ・6 min read

If you're learning to code, sometimes it can be more fun to work through practical end-to-end projects than to learn the theory.

These 15+ tutorials will be helpful whether you're:

  • Just starting out and want to get a feel for coding before deciding if it's for them
  • Going through another Python course but want to do more practical projects alongside the theory
  • Have finished a course and are stuck in the "What should I build phase"
  • Are building up your portfolio to apply for jobs

You can go through them all in order, or jump in wherever looks interesting. If you prefer, they're also all available as a free e-book (direct download, no email required) in PDF, epub, or mobi formats.

Note: these posts were commissioned by and also show you how to use their online IDE and hosting platform. Everything is entirely free (freedom and beer) though and you are not required to purchase any premium services to go through them. A video version will be released soon.

Part 1: The basics of

In this section of the course, you'll learn the basics of But that doesn't mean you won't build some fun stuff along the way.

Lesson 1: Introduction to and using the IDE

Learn the basics of the IDE. Why use an online IDE and what are all those different panes? Build a simple program to solve your maths homework.

Lesson 2: Working with files using

Alt Text

Computers were initially created to read and write files, and although we've come a long way files remain central to everything we do. Learn how to create them, read from them, write to them, and import and export them in bulk.

Lesson 3: Managing dependencies with

Alt Text

No one is an island, and if you build software you'll build it on top of existing modules that others have written. Here we show you how to work with other people's code in a variety of ways: in many cases all you need to do is import antigravity and fly away.

Lesson 4: Data science: plotting and graphing

Alt Text

Data is only useful if it can be easily understood. Plots, charts, and graphs are the easiest way to know what's happening in the world around you. And did you know that data science is the sexiest job of the 21st century. Follow along to plot every city in the USA and find out if richer people live longer.

Lesson 5: Pair programming and using multiplayer

Alt Text

Did we mention that no one is an island? Coders don't have to work alone. You can invite your friends to code along with you, a technique used by beginners and experts alike. Learn how to code collaboratively, as if you were using a Google Doc.

Part 2: advanced use

Once you know the basics, it's time to build larger and more complicated projects and keep them secure.

Lesson 6: Running projects from GitHub

Alt Text

Most open source software lives on GitHub and it's easy to take advantage of all of this free software by pulling code from GitHub to and running it with one click. Some software needs to be configured in specific ways so you'll also learn how to modify what happens when you press that big green "run" button.

Lesson 7: Building a game with PyGame

Alt Text

Do you want to develop games? Of course, you can do that with to. We'll build a 2D juggling game using PyGame in this lesson and you'll learn more about graphics programming at the same time: sprites, physics, and more.

Lesson 8: Can you keep a secret? What about from time travellers?

Alt Text

Have you been hacked? It's only a matter of time if you haven't. Learn how to keep your secrets safe, even when coding in public spaces. Pro tip: if you accidentally paste a password into your code and then remove it, others might still find it in your history, so you'll learn how to navigate that too.

Lesson 9: Introduction to TDD using PyTest

Alt Text

By this stage you'll have made a few mistakes. Learn the TDD way and how to write code that tests your other code to catch frustrating errors before they can hurt anyone. Repetitive jobs is what computers are best at after all.

Lesson 10: Become an elite hacker with productivity hacks

Alt Text

Have you seen the Matrix? Learn to be the Neo of coding by getting more than one cursor, using keyboard shortcuts, and all of the other productivity features that offers. You'll be soon producing more code in less time.

Part 3: building your own projects

Once you've gone through everything, you might think "but what should I build?". It's a common problem and we've got you covered. Choose your favourite projects from a list (or turn on the coffee machine, order some pizza, and get through them all). Once you've gone through the step-by-step guides you can easily modify or extend the projects to make them your own.

Beginner web scraping with Python and

Learn more about what web scraping is, how websites are built, and how to automatically scrape data from websites.

Building news word clouds using Python and

Extending the beginner's web scraping tutorial, you'll build a more advanced scraper that extracts the plain text from news articles, stripping away the 'boilerplate' content, such as text in sidebars.

Building a Discord Bot with Python and

Build an echo bot using the Discord API. Your bot will always respond with exactly what you send it, but you can customize it afterwards to do something more useful.

Building a Discord bot with Node.js and

A NodeJS version of the Discord bot tutorial above. Even if you prefer Python, it's good to go through this one too to get experience with other languages.

Creating and hosting a basic web application with Django and

Build a django web application and host it with You'll use geolocation a weather API to show the user their local weather forecast.

Building a CRM app with NodeJS,, and MongoDB

Another web application, but using NodeJS instead of Django. This is a different application where you'll build a basic app to manage customer information.

Introduction to Machine Learning with Python and

Build a machine-learning based text classifier. We skip the maths but show how you can use machine learning libraries to implement useful solutions without in-depth theoretical knoweldge.

Quicksort tutorial: Python implementation with line by line explanation

Whether you're applying for jobs or just like algorithms, it's useful to understand how sorting works. In real projects, most of the time you'll just call .sort(), but here you'll build a sorter from scratch and understand how it works.

Discussion (2)

andrewbaisden profile image
Andrew Baisden

This is very useful I am doing a Python course and at the moment we are using for coding.

sixhobbits profile image
Gareth Dwyer πŸ‡ΏπŸ‡¦ Author

Thank you! These are still very new so if you through these and come across any issues or see any way they can be improved please let me know :)