DEV Community

What are the best Python projects for beginners?

Julia Torrejón on December 09, 2018

Can you recommend project ideas for someone who is learning Python and wants to build a portfolio?

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

These are some of the things I can come up with on the spot
1) Building Alexa skills using Flask-Ask and various online APIs
2) Data scraper using scrapping libraries like beautifulsoup or Scrapy
3) Visualising data like matplotlib using open data and documenting your progress
4) Teaching Python to people in your area
5) Working with raspberry pi or microbit to build IoT projects or robotics projects
6) Creating a chatbot using python libraries

Collapse
 
juliatorrejon profile image
Julia Torrejón

Thank you for all these ideas!

I have to start thinking about what to do next :D

I will probably work with Raspberry Pi, as they have hundreds of interesting projects to start with!

Collapse
 
steelwolf180 profile image
Max Ong Zong Bao

Hahaha have fun with it then and share it here. I'll follow you to keep myself update on what is happening in the Raspberry Pi side then :)

Collapse
 
tamas profile image
Tamás Szelei

As someone who looked at CVs and portfolios of candidates: I got the best impression from projects that were completed. One small, but working and finished thing beats many half-finished grandiose projects.

For concrete ideas, first of all I think it's best when you create something that is useful to you. Be it a todo list app or something that fetches discounts from a webshop you regularly use. Don't be afraid to steal ideas from others. It's perfectly fine to look up the topic you want to work on and find inspiration.

Some more concrete ideas:

  • implement the "classics", like game of life, tetris, breakout etc. Pygame / PygameZero can help a lot with those
  • get a microbit and create tangible electronic projects with python. Just making LEDs blink is incredibly satisfying, but there are also way more interesting projects out there
  • get a raspberry pi and do the same with more fidelity ^
Collapse
 
juliatorrejon profile image
Julia Torrejón

Thanks Tamás!

I have some ideas in mind but I guess the most difficult part is where to start.

Thinking about getting a Raspberry Pi as I have seen some really interesting projects out there! :D

Collapse
 
tamas profile image
Tamás Szelei • Edited

I suggest following tutorials and customizing them with your own ideas. This seems like a set of nice beginner tutorials: codeclubprojects.org/en-GB/python/ (I linked that not really knowing your knowledge level, so I tried to link something that's super easy).

Also, since you specifically mentioned building a portfolio, I suggest learning how to use Github so you can have a place to publish your projects. Good luck!

Thread Thread
 
juliatorrejon profile image
Julia Torrejón

Thanks! 🙂

Raspberry Pi Foundation seems to have a wide variety of great projects in various languages which is quite convenient.

I have started experimenting with Github by publishing small projects and stuff, but still so much to learn about this platform!

Collapse
 
pawarpayal005 profile image
Payal Pawar

Here are the best and 5 mini python programming projects for beginners

In these days, java programming and python these 2 are the best programming languages and everybody needs to learn online java and python if you don't have time.

A.Dice Rolling Simulator

Concepts to keep in mind:
1.Random
2.Integer
3.Print
4.While Loops

B.Guess the Number

Concepts to keep in mind:
1.Random function
2.Variables
3.Integers
4.Input/Output
5.Print
6.While loops
7.If/Else statements

C.Mad Libs Generator

Concepts to keep in mind:
1.Strings
2.Variables
3.Concatenation
4.Print

D.TextBased Adventure Game

Concepts to keep in mind:
1.Strings
2.Variables
3.Input/Output
4.If/Else Statements
5.Print
6.List
7.Integers

E.Hangman :

Concepts to keep in mind:
1.Random
2.Variables
3.Boolean
4.Input and Output
5.Integer
6.Char
7.String
8.Length
9.Print

Collapse
 
vickilanger profile image
Vicki Langer

I really like how you broke this down to what concepts are used in each project. I think that's incredibly helpful

Collapse
 
juliatorrejon profile image
Julia Torrejón

Good thinking Payal!

Keeping in mind these concepts when considering a project is a great idea in order to solidify the knowledge since it offers a means to view some concepts integrated together.

Collapse
 
capitalism47 profile image
Capitalism47

you could have just linked knightlab.northwestern.edu/2014/06... this but okay

Collapse
 
rhymes profile image
rhymes • Edited

Hi Julia,

in addition to what Tamás said, what about contributing to some OS projects?

Or scratching your own itch, or trying to replicate some app you already use...

A long time ago writing a blog engine was the classic "beginner app" for would be web developers. I also remember that in the book Practical Common Lisp you ended up writing a command line MP3 player with id3 tag detection. That could be a "different" project.

You could also try to replicate youtube-dl (which is already in Python but still...) maybe the bare minimum functionality could be an interesting exercise

Collapse
 
juliatorrejon profile image
Julia Torrejón

Thank you! That looks like a great starting point! :D