The target of this project is to introduce the students to the architecture of blockchain and to some basic concepts (smart contracts etc) in order for them to be able to implement some simple applications using one of the Ethereum high level programming language on the Ethereum blockchain.
1) Study some basic materials that will be provided from the instructor.
2) Deploy a private blockchain using a router that will be provided from the instructor.
3) Conduct some experiments and become familiar with the mechanics and the parameters of the blockchain.
4) Implement smart contracts using Solidity or Serpent.
5) Implement simple applications (e.g. voting, message passing, file transfer).
The students will be assisted by one or more lab members and they will have weekly meetings with them.
By the end of the project, the student(s) will be familiar with the basics of blockchains and cryptocurrencies and they will be able to demonstrate their knowledge through actual applications.