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 Email
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