You are required to implement a practical project that will demonstrate your proficiency with data structures discussed during this course (especially the Graph ADT) using the theme discussed below.
The mini project demonstrates your understanding and proficiency with the concepts discussed in class and how they can be applied within a specific domain to solve a problem. You might need to make use of data structures we have not yet covered in class. In this case you will need to research the implementation of the appropriate data structure. The practical mini project must meet the following requirements:
The theme for the Mini Project are network-based Blockchains. A blockchain is a collection of records (called blocks), where each block links to the previous block using cryptography. Each block contains cryptographic hash, timestamp and data relevant to its application. Think of it as a distributed ledger where instead of information being stored in a database it is stored on the blockchain. Some examples of solutions that use a blockchain at its core are:
- Cryptocurrencies (however, for this project you may NOT do a cryptocurrency)
- Smart contracts
- Trading
- Supply chain management
- Anti-counterfeiting
- Healthcare
- Domain names
- Proof of existence
- Voting
- and many others!
Your practical implementation must address a one of these or similar problems and solve it using the Graph ADT provided as a primary component of an application. You are free to choose which problem you want to address and how it uses a blockchain, it just needs to use the Graph ADT provided.
Examples of mini projects you may NOT implement include (i.e. the ban list that will result in you getting zero):
- A cryptocurrency — where the blockchain only has a wallet and transactions (try and be a little more creative ok?).
- A Utility library — where there is no user interface (remember we want to play with it and see it works).
- Anything copied from the Internet or a previous project — This is plagiarism and the appropriate disciplinary action will follow should this occur (just don’t do it).