Blockchain Application Development

CSE4/526 Spring 2019

"Hmm..What will I learn in this course?"

Introduction

Welcome to Spring 2019 and Blockchain Application Development course. This course covers topics that are relevant to the emerging area of blockchain and decentralized application development. The blockchain is the infrastructure behind the famous Bitcoin cryptocurrency. Blockchain by itself has taken a life of its own and has been sensationalizing the technology world. The premise is that what worked for cryptocurrency should also work of peer-to-peer transfer of other digital assets in a decentralized system. In this course, you will learn how to design, develop, code, deploy and test applications on the blockchain.


There are no recommended text for the course
We will be using many references, online sources and textbooks throughout the semester. The details will be provided in the References tab.

Tentative Curriculum

A broad overview of the topics to be covered is given below.


         
		 Introduction to blockchain: its history.
		 What is a blockchain? A trust layer, infrastructure, protocol.
		 The Bitcoin UTXO-based protocol.
		 The Ethereum blockchain and protocol.
		 The concept of a smart contract.
		 A lanaguge for smart contract design: Solidity.
		 Problem solving using smart contracts.
		 Remix integrated development environment.
		 Blockchain application stack and Dapps.
		 Developin Dapps on Truffle IDE.
		 Deploying applications on public blockchains.
		 Protocol level issues, solutions: scalability, confidentiality.
		 Other blockchain platforms.
		 Ongoing research issues.
			

All concepts discussed during the lectures will be reinforced by three (3) labs on Ethereum blockchain.