Python Practice Projects
pythonpracticeprojects.com
pythonpracticeprojects.com
One thing that I've always thought it's missing is a list of projects in domains other than programming for motivating people that don't have an interest in programming per se.
That means no Lisp interpreters, no command-line palindrome detectors, no reverse polish calculators, no Collatz sequence generators, etc., but things like card game emulators, embroidery pattern creators, guitar tablature generators, etc. Thing that could pick the interest of people that have very specific interests, and that don't see how programming could be of any use to them.
When I was learning to code, I wrote a program for computing the standings table for soccer league tournaments. It was very rudimentary, but it kept me motivated since it did something useful for me, and I could tweak it ad infinitum.
Year later I taught programming to first-year university students, and a big problem was keeping them motivated. Every one of them had different interests, and computing large Mersenne primes was certainly not one of them.
Are there any similar resources for other languages?
But as long as you can read Python there's no reason you couldn't do these in your preferred language with the Python references.
That's a good point, but surely, just as an expert user would want to use the appropriate tool for his problem, also a learning user would want to use the appropriate problem for his tool? By which I mean, an exercise that is a good way to learn Python is likely to be a terrible way to learn, say, R.
A test suite would be great (as mentioned by JadeNB) but is the end of this something along the lines of a MOOC or a programming community?
Test suites would definitely be a good addition.
There are interesting MOOC elements to this. it'd be very cool to collect all the implementations and analyze the different ways people solve the problem. Stanford had dinner some interesting work like this:
http://strata.oreilly.com/2013/10/semi-automatic-method-for-...
Finally, it'd be great to open-source this. Set up a repo with assignments and test suites, then students fork the repo and code up the exercises. This would allow you to easily see how people are solving the problems, and make it easy for people to propose new projects and tests.