I'm familiar with the 20 Game Challenge, where you complete a series of increasingly complex projects to build game-programming skills without feeling overwhelmed. I'm looking for something similar focused on general, non-game programming: a structured sequence of practical projects that gradually increases in difficulty and provides a clear learning roadmap. Exercises are useful, but I'm especially interested in complete software projects. Does a resource like this exist, and where can I find it?
2 Answers
Project Euler is a popular option, but it’s mainly a collection of mathematical programming problems rather than full software projects. It’s good for practicing algorithms and problem-solving, though it may not match what you’re looking for.
For practical project ideas, look for beginner programming project lists that progress from simple command-line tools to larger applications. Martyr2’s Mega Project Ideas List is a particularly useful collection, with ideas covering things like calculators, text editors, web services, games, and data-driven applications. There’s also an expanded project-idea book based on that list. You don’t necessarily need a formal challenge, though—choosing projects that introduce one new concept at a time can create a similar curriculum. Game development is also valid practice because the underlying skills transfer to many other areas of programming.

That makes sense. I’ve heard of Project Euler, but I’m specifically hoping to find a progression of complete programming projects rather than mostly standalone exercises.