9 answers

I need a good starter project for python

Asked Justin, Texas

Hi,
I am in 6th grade and I wanted to try python but I need a project to do #computer-science #computer-software #computer-programming #python

9 answers

William’s Answer

Updated Denton, Texas

Hey Alex,

Great that you're looking to get into coding with a tangible project, and python is a great language choice for getting the basics down.

It might actually make sense to do some fun coding challenges to get some facility in the language, before doing a project that might be more broadly useful. Here are some sites that offer these kinds of challenges:

A no frills number theory challenge website -- one of my favorites, has a very wide range of skill levels, the first 50 or so may be doable: https://projecteuler.net/archives

A competitive online platform for software development and algorithm challenges, topcoder is a bit more advanced, but has well constructed problems, here is a search to get you started with their least challenging problems (still tough): http://community.topcoder.com/tc?module=ProblemArchive&sr=&er=&sc=&sd=&class=&cat=&div1l=&div2l=&mind1s=90&mind2s=90&maxd1s=&maxd2s=&wr=

There are some others like codefights, but I'm not as big of a fan: https://codefights.com/

To answer your question specifically, it really matters what you're interested in. Do something that you'll find fun and rewarding for the entire length of the project. Some of these examples (from my side projects) might be a lot to bite off for a first project, but may serve as inspiration for the types of things you can do:

<hr>

A website that turns selfies into elfs, adding ears and an elf hat to pictures given an out of the box facial recognition library: http://myelfieselfie.com

Use python and some out of the box libraries to control your music / lights using sonos / hue: https://github.com/skier31415/socopi/blob/master/control.py

Playing a game like tic tac toe or a variation of it, potentially having a one player version where you can play the computer (artificial intelligence): https://github.com/skier31415/Quarto/blob/master/board.py

<hr>

If you want to make a simple web app, I strongly recommend Flask, which is a lightweight python framework: http://flask.pocoo.org/

If you want to use a GUI (graphical user interface) that only runs on your computer (not served on the web), I suggest Tkinter https://wiki.python.org/moin/TkInter

There's always a lot to learn and more to do, don't overwhelm yourself, and pick something small to start.

Hope this helps !

Updated
THANK YOU!
Updated
Thank you good info

Mark Robert’s Answer

Updated Burlingame, California

Alex,

Python is good for a great many things but it's REALLY good for two.

  1. Data Analysis and Graphing - If you have a lot of data in a machine-readable format (CSV, TSV, JSON, XML, etc) then Python will let you chow down with ease. See https://www.dataquest.io/ for a great tutorial

  2. Web sites and web applications with Django: https://www.djangoproject.com/

You can even combine the two!

Updated
THANK YOU!
Updated
what is python alex i want to help my name is mason and i need to know what to help you with can you give little more information
Updated
It is a programming thing
Updated
oh never mind i got it
Updated
Thank you good info

Charles M’s Answer

Updated Allen, Texas

if you are in 6th grade, you want to choose something small and simple that can be completed in a short period of time. It is very frustrating to bite off more than you can chew and then choke before getting it done.

I wholeheartedly recommend getting a Raspberry Pi to learn Python on. There are so many more things you can do by hooking up switches, buttons, sensors, lights, motors than you can just on a screen. And there is a huge amount of help available to student Raspberry Pi users.

idea for simple projects on screen only.

Enter the location of the chess piece and what piece it is, and show on an image of the chess board on the screen all possible moves it can make.

Actually, that might be too big for one bite. How about putting an image of a chess board on the screen, and entering the location of a chess piece and having it put an image of that piece on the screen in the location that was entered. Try it with one chess piece first, then expand to more pieces. When you get that working, then you can expand to showing all possible movements.

David’s Answer

Updated Manassas, Virginia

Are you learning anything particularly interesting in math class right now?

Write a simple script to automate that. Use Decimal rather that python's built-in floating point, avoid the scientific/math libraries out there; around middle school, I was learning Algebra and Geometry, and both provided decent opportunities to work on mastering programming languages and logic via the content of the math course.

Depending on what you're learning in science, you might also find some stuff that you can create a program for there too.

All this said, I do not encourage using a computer to do your homework for you. Repeatedly doing the same thing over and over again helps make you faster at doing it, and homework was the primary way I learned material in school. Also, you might find that getting the computer to do what you want actually requires more effort than simply doing the homework without the computer's help would.

Updated
Thank you very much

Dhrumil’s Answer

Updated New York, New York

If you have the ability to get a Raspberry PI (a small $35 credit card sized computer, more info here: https://www.raspberrypi.org/, video here: https://www.raspberrypi.org/help/what-is-a-raspberry-pi/), then there are some really awesome projects you can do to get started with Python! If you're interested in Minecraft, there are some cool Python based Minecraft mods for Minecraft on Raspberry Pi (MinecraftPi comes pre-installed). You can also control external objects like lights or motors with python and a raspberry pi! Its a super fun way to get started with Python.

https://www.raspberrypi.org/blog/hacking-the-minecraft-world/ https://www.raspberrypi.org/blog/learning-python-with-raspberry-pi/ https://www.raspberrypi.org/documentation/usage/python/

Updated
THANK YOU!
Updated
Nice Thank you

David’s Answer

Updated Austin, Texas

There are so many cool ways to learn Python, so try different things to see which feels best to you. Remember, be patient, take small steps, and don't be afraid to ask for help.

A Raspberry Pi is a GREAT tool to help you learn Python, because it gives really cool feedback. If you want to learn web-oriented programming using Python, check out the "Django Girls Tutorial" https://www.gitbook.com/book/djangogirls/djangogirls-tutorial/details

bharath’s Answer

Updated Bengaluru, Karnataka, India

Alex,

Python is good for a great many things but it's REALLY good for two.

Data Analysis and Graphing - If you have a lot of data in a machine-readable format (CSV, TSV, JSON, XML, etc) then Python will let you chow down with ease. See https://www.dataquest.io/ for a great tutorial

Web sites and web applications with Django: https://www.djangoproject.com/

You can even combine the two!

Srini’s Answer

Updated Alpharetta, Georgia

There are lots learning websites with prescribed content for python where you should be able to get up to speed really quickly. Google and go with the one the content is more relevant.

Martin’s Answer

Updated Montevideo, Montevideo Department, Uruguay

Additionally, take into account that code quality is a very important aspect for any developer. Read about pep8 and 'pythonic' ways of coding in python. Make sure you understand the python zen.