list of programming project ideas
Any two player board game is a good exercise for basic programming logic, and you can make it into a console application. Checkers, Connect-4, Othello, Poker, Go, whatever. Chess is somewhat harder than those other games.
Here are some ways to extend these projects:
- Add the ability to save and load games
- Add an AI
- Allow players to play over a local network.
- Build these as front-end or mobile applications.
- Make this into a web app--build a website which lets people play the game online. You can extend this arbitrarily far: nice GUIs, realtime play, etc.
One really fun project is to build a computer algebra system, which is a library which lets you do symbolic manipulation. It should be able to represent expressions like $latex x + 2y$. It should know that $latex 2(x + y) = 2x + 2y$. This turns out to be pretty tricky, and making it work is a great learning experience.
Another project I enjoyed when I was younger was writing a circuit simulator. You gave the program a graph of circuit components, and it turned the graph into a system of linear equations, then solved them for current.
- Classics. Sorting algorithms, searching algorithms.
- Binary search trees. Insert, delete. Treaps. 2-3-4 trees.
- String algorithms
- AIs for video games
- Front end
- Graphing library
- Rich text editor
- Excel clone
- Regular expression matcher
- HTTP server
- Web scraper
- Web app framework
- Low level
- Image conversion utilities