

If you don't have any ideas on which concurrent data structure to make, I find looking at old research papers on concurrent data structures useful (usually they have some pseudocode).

You could extend this project by implementing biometric authentication in an attendance platform, fingerprint voting system, and more.įor this project, create a concurrent data structure. This project requires you to be proficient with AI and machine learning. Some examples of biometric authentication include: fingerprint, face recognition, eye recognition, and more. If you didn't know, biometric authentication uses a user's unique biological characteristics to confirm their identity. įor number 4, implement biometric authentication. As the TCP protocol is a more advanced protocol, if you would like to tackle something a little simpler, I would recommend implementing the FTP protocol which you can learn about here. If you don't know what the TCP protocol is, that would be the first step. In this project, implement the TCP protocol from scratch. This database can be whatever you want: SQL or NoSQL, relational or nonrelational, the list goes on. Once you feel ready, create a toy database. As these projects are smaller than a full NoSQL/SQL database, these would be great intermediate systems projects. If you would like some more practice with how databases work before building a real one, I would recommend creating a key, value store, a Redis clone, or a Memcached clone. I would try to create a programming language that is fast, memory safe, but would be easier to learn than Rust.įor this project, create a toy database or a key, value store.


The downside to Rust is its learning curve. For example, Rust is an awesome programming language that has memory safety and speed. If you would like this project to not only be a 2-week thing, think about the problems you have with certain programming languages, and how to fix them. For this project, design and implement an interpreted or compiled programming language from scratch. Some programming languages include: Python, Rust, Javascript, C++, Elixr, and many more. Let's dive right into it!Ĭreating a programming language, interpreted or compiled, is no easy feat. I would recommend being very familiar with the programming language you choose to use to tackle one of these projects. When I say these projects are advanced, they are advanced. Most of these are systems programming projects, but there are a few other AI and networking projects in the list. I've curated a list of 10 advanced projects to complete in 2021.
