Title: Hi,
I&#x27;m trying to compile a list of projects, algorithms and maybe data structures that I feel every well-rounded programmer should have implemented at least once in their career. I&#x27;m hoping this list can then function as a guide for programmers to challenge themselves and maybe fill gaps in their knowledge they didn&#x27;t know they had.  So far, I&#x27;ve come up with the following list:<p>* Data structures
- Linked list
- Hash map
- Several types of trees<p>* Algorithms
- The common sorting algorithms
- Dijkstra
- Graph-traversal algorithms<p>* Projects
- Ray tracer
- Parser&#x2F;Interpreter
- Compiler
- Virtual Machine
- Small kernel
- Neural Network
- Web server<p>The algorithm and data structures section I believe should be covered by any decent computer science education (but may be useful to self-taught programmers). The projects are slightly more advanced and may take up to several weeks to implement completely. 
I realize this list is far from complete, so that&#x27;s why I&#x27;m turning to you: do you have any projects that you&#x27;ve worked on that turned out to be very educational and made you a better programmer once you completed it?
Upvote: