Suggested Projects for Learning Python
Programming for many is a means not an end. Here are collected possible projects for those new to programming, with some indicator of difficulty, and for which it is known that the building blocks exist in the LearningRepertoire. These should be concrete problems, not abstract ones.
(these ideas need work)
"Periodically download the message archives of my favorite mailing lists. Index them into a database, and provide a UI for browsing them, with threading, person-identity tracking, and perhaps full-text searching and scoring."
"I want a program I can run, by clicking on, that fetches today's weather and reads it to me, using text-to-speech, while I'm getting ready in the morning. In fact, I might want it to automatically run each day at a specific time."
"I would like the ability to play simple board games with a shut-in family member, such as checkers, over the Internet. I run Linux but they run Windows, so I need something that runs in both environments."
"When I get an email from person X, I want the TuxDroid to signal this, every 15-minutes, until I read the message."
"I want to learn programming so I can organize my books/music/movies/photos/recipes!"
"I want to process some information in some manner, and then print a nice report. That report should be of good presentation quality like PDF or RTF or ODF."
"I want to set up a collection of voting algorithms and run voting distributions through them to see how they compare. And I'd like to graph the results."
You can find more ideas at http://www.uselesspython.com/
"I want to monitor this site and find out when the concert tickets go on sale."
"I want to make a list of htings that I really need to do on a certain date and then get email about them the week, day before, and day I need to do them."
"I want a program to monitor my stock portfolio and send me email if certain conditions are met."
"I have a list of chores that need doing, often on a weekly basis, and a list of people who have volunteered to do them. How do I allocate them fairly? I need to consider that people get sick, have holidays, and other reasons why they might not be able to work any particular day, or weekend. Sometimes it is better to let people sign up for chores, but some chores need to be assigned to people or else they will never get done. It is also important to generate reports so that people can know that the work is being done in a fair manner."
"I want to be reminded to water my plants/return books to the library/give my cats shots."