MIS716 Blockchain Fundamentals and Applications
Course Catalog Description
Introduction
The course introduces students to Blockchain technology. Blockchain technology has the potential to revolutionize the way transactions are created, recorded and protected. As a distributed ledger, based on cryptography, Blockchain is incorruptible and enforces transparency, and is highly secure. This is a “hands” on system design course which introduces the students to key concepts of Blockchain using examples and case studies. Using Blockchain Fabric and Composer, students will implement their design in a simulated environment.
Campus | Fall | Spring | Summer |
---|---|---|---|
On Campus | X |
Instructors
Professor | |
---|---|
Khashayar Dehnad | kdehnad@stevens.edu |
More Information
Course Objectives
The overall objective of this course is to allow students to acquire foundational techniques surrounding blockchain and its application. More specifically, this course aims to provide students the following:
- Understand the benefits and shortcomings of blockchain
- Develop familiarity with the underlying Blockchain technologies (e.g. Cryptography)
- Understand Blockchain/Hyperledger architecture
- Understand the “Design Thinking” process
- Become familiar with Object Oriented design and documentation using UML (Unified Modeling language)
- Develop familiarity with issues surrounding Blockchain deployment
Course Outcomes
Through this course, students are able to:
- Develop “real-life” system requirements using design thinking
- Acquire hands on experience designing a Blockchain solution
- Use UML and Object Oriented programming to prototype a Blockchain application
- Deploy the prototype, using Blockchain Fabric and/or Composer
Course Resources
Textbooks
- Hands-On Blockchain with Hyperledger: Building decentralized applications with Hyperledger Fabric and composer ISBN10: 1788994523, ISBN-13: 978-1788994521
- Mastering Blockchain, By Imran Bashir, ISBN-13: 978-1788839044, ISBN-10: 1788839048
- Networks, Crowds, and Markets 1st Edition ISBN-10: 0521195330
- Object-Oriented Analysis and Design with Applications ISBN-10: 0805353402
- Design Thinking Process & Methods ISBN-10: 1940805457
Grading
Grading Policies
Weights | ||
1 | HW | 15% |
2 | Class Work | 15% |
3 | Mid-term Examination | 15% |
4 | Final Examination | 25% |
5 | Projects | 30% |
Lecture Outline
Topics | Readings | Class exercises (Optional) | HW | |
---|---|---|---|---|
Week 1 | Introduction to Blockchain and Economics of Blockchain | Some Simple Economics of the Blockchain” By: Christian Catalini Joshua S. Gans | Class presentations on topics in “Some Simple Economics of the Blockchain” | |
Week 2 | Vehicle Lifecycle | IBM supplied videos and presentations | Vehicle Lifecycle Lab | Financial markets and trading |
Week 3 | Business Networks and Markets | Hands-On Blockchain with Hyperledger (Chapter 6) | Commercial Paper Lab | Identification of “Vehicle Lifecycle” |
Week 4 | Technical Concepts: Hash Functions, Byzantine General Problem |
https://blockgeeks.com/guides/what-is-hashing/
https://www.youtube.com/watch?v=0rO6KfQq1Rk
"The Byzantine Generals Problem" Leslie Lamport, Robert Shostak, and Marshall Pease, SRI International |
JavaScript Hash function assignment | |
Week 5 | Technical Concepts: Cryptography (public and private key cryptography | “Mastering Blockchain” (Chapter 4) | JavaScript Cryptography assignment | |
Week 6 | Blockchain Technologies and Hyperledger Projects | “Mastering Blockchain” (Chapter 4) IBM lectures | Commercial Paper example IBM lab 2 | Business Networks, Financial markets and trading networks |
Week 7 | Design Thinking and System Design | “Design Thinking Process and Models” (Chapters 14,15,16) | Student workshops | Design Thinking exercise (Student Project) |
Week 8 | Design Thinking and Market Design | “Networks Crowds and Markets” (Chapters 9 and 10) | Auction and Matching Markets | Market Design (Student Project) |
Week 9 | Intro to: Object Oriented Programming, UML, Use Case | Application documentation (Student Project) | ||
Week 10 | Blockchain Use-Cases | IBM lectures | IBM Lab 3 | Building Simple Blockchain using JavaScript |
Week 11 | Developing Blockchain Applications | IBM lectures | IBM Lab 4 | Application development (Student Project) |
Week 12 | Deploying Blockchain Applications | IBM lectures | Student Project Presentations | |
Week 13 | Hyperledger Fabric and Blockchain Platforms | IBM lectures | Student Project Presentations |
Project Specifications
A real world system design project and prototype suitable for implementation on a blockchain fabric technology. The project, requires the development of the:
- Project idea and design using “Design Thinking”
- Documentation of the system design using Unifying modeling Language (UML)
- Development of a prototype using Javascript