週次
Week |
課程主題
Topic |
課程內容與指定閱讀
Content and Reading Assignment |
教學活動與作業
Teaching Activities and Homework |
學習投入時間
Student workload expectation |
課堂講授
In-class Hours |
課程前後
Outside-of-class Hours |
1 |
FinTech |
Lecture: introduce finance technology (FinTech), including its definition, scope, history, and possible applications. |
Lecture. |
3 |
6 |
2 |
Digital Currency |
Lecture: introduce virtual currency, digital currency and the problem of them.
Class discussion: why creating a digital currency is so difficult. |
Lecture. Class discussion.
Homework: digital currency. |
3 |
6 |
3 |
Blockchain 101 |
Lecture: review some cryptography algorithms and the basic components of blockchain.
Class Demonstration: blockchain on a webpage |
Lecture. Class Demonstration.
Homework: PoW problem. |
3 |
6 |
4 |
Blockchain Case Studies |
Lecture: the properties embedded in the blockchain.
Class discussion: Discuss the current blockchain based applications. |
Lecture. Class discussion.
Homework: the problem of blockchain cases. |
3 |
6 |
5 |
Bitcoin |
Lecture: introduce Bitcoin and its data format, algorithms and bitcoin wallet. |
Lecture.
Homework: install bitcoin wallet |
3 |
6 |
6 |
Transaction |
Lecture: the data format of a blockchain transaction, the concept of transaction pool, and the blockchain miner.
Class discussion: what data can be stored in a blockchain? |
Lecture. Class discussion. Homework: database and blockchain. |
3 |
6 |
7 |
Script Language |
Lecture: understand the blockchain script language and its signing algorithm. |
Lecture.
Homework: problem of scripting language. |
3 |
6 |
8 |
Bitcoin Network |
Lecture: introduce different types of blockchain peers and their functions. |
Lecture.
Homework: install bitcoin node in docker |
3 |
6 |
9 |
Private Blockchain |
Lab: install Bitcoin software in a Docker container and create a private blockchain application. |
Homework: install private block chain |
3 |
6 |
10 |
Smart Contract |
Lecture: introduce the definition of smart contract, the definition of Turing machine, the application of smart contract. |
Lecture.
Homework: the difference between bitcoin and ethereum |
3 |
6 |
11 |
Ethereum and its smart contract language |
Lecture: introduce Ethereum, its algorithm and the additional mechanism other than Bitcoin, as well as the popular Ethereum script languages (e.g., Solidity, Serpent, and LLVM). |
Lecture.
Homework: write your first smart contract |
3 |
6 |
12 |
Smart Contract Case Studies |
Lecture: the current smart contract based application.
Class discussion: why Etherrum is better than Bitcoin and how to design an even better blockchain? |
Lecture.
Homework: the pros and cons of smart contract |
3 |
6 |
13 |
Private Smart Contract |
Lab: install Ethereum software in a Docker container and create a private smart contract application. |
Lecture.
Homework: ethereum in docker |
3 |
6 |
14 |
Security and Management |
Lecture: known attacks to Bitcoin and Ethereum, and how to prevent them by design and management. |
Lecture.
Homework: 51% attack |
3 |
6 |
15 |
Reserved |
Reserved time for unfinished lecture, holidays, and discuss the take-home exam |
Lecture. |
3 |
6 |
16 |
Term Project Presentation |
Class presentation by students |
Class presentation by studentsHomework: Orange. |
3 |
6 |
17 |
Term Project Presentation |
Class presentation by students |
Class presentation by students |
3 |
6 |
18 |
Other Security Problems and Blockchains |
Lecture: Hyperledger |
Lecture. Class discussion: any other blockchains? |
3 |
6 |