A list of small, self-contained programming projects.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
README.md
chat-server-client.md
compresssion-utility.md
interpreter.md
link-shortener.md
note-taking-app.md
pacman.md
phonebook.md
regex-engine.md
version-control-system.md
web-framework.md

README.md

This is a collection of small, self-contained programming projects. The projects should have the following characteristics, as defined by Moss Collum:

  • Short: I can see interesting results within a few hours, and some results even sooner.
  • End-to-end: The project produces real software with a user-interface (even if it’s a simple one like a command-line script).
  • Expandable: Once I have some working code, it should be easy to think of new features.
  • Variable: There should be room to change requirements over time in ways that break my assumptions and test my code’s ability to evolve
  • Fun: The problem should be something I can care about enough to stay engaged.

These projects are not intended to result in products that people will actually use. Instead, the intention is to get exposure to new tools and concepts and to practice making software design decisions.

I'll add projects to the collection when I start working on them. As I complete the projects, I'll link to my code on GitHub and add notes on how long the project took, what parts were fun/challenging/easy/boring. I'll be completing one project per week, along with a group of Hacker Schoolers, as part of the Iron Forger challenge.

There already exist a few very comprehensive and overwhelmingly long programming project idea lists (see Resources section). I'm not going to duplicate their creators' work. I'm attempting to create a more, uh, curated list, which tracks only projects that I have personally worked on/will work on.

Resources