CSE234 Introduction to Blockchain

Completion Notes

We successfully completed the winter offering of CSE234 Introduction to Blockchain. There were 34 enrolled with 17 enrolled SUNY students/ 17 local business people. The planned curriculum was covered in six sessions: First three sessions included the basic concepts, the rest covered the design and hands-on development of blockchain applications. The test environments for hands-on labs were geth (go ethereum), Solidity and Remix, and Truffle.

  • Session 1: Introduction to Blockchain: Decentralized, peer-to-peer network, with immutable recording of transactions, that operates without any intermediaries.
  • Session 2: Bitcoin: first viable digital currency, introduced the concept of blockchain. UTXO model.UTXOàTransactionsàBlockàBlockchain. Trust model: validation, consensus, verification, confirmation. Strong foundation is hashing and cryptographic algo?rithm.
  • Session 3: Ethereum: Introduced Smart contract or computation layer for encoding business logic and rules.AccountàTxàBlockàBlockchain model.
  • Session 4: Introduction to smart contract, the basic structure and use of Solidity and Remix Development Environment.
  • Session 5: Introduction of access modifiers as a means for implementing rules and policies.
  • Session 6: Dapp design and development. Advanced features positioning blockchain as the next big technology innovation.

Introduction

Welcome to Winter 2018 Introduction to Blockchain course. This course will provide an overview of the emerging technology blockchain and demonstrate blockchain-based application development. Pedagogy: We will learn most of the concepts using hands-on explorations with Bitcoin blockchain and coding with Ethereum blockchain.


Time and Location

Time: 4.00PM - 6.20PM
Location: Baldy 200G
Days: Jan 4-Jan 23, Tue/Thu

Pre-requisites

General problem solving skills. This course will be offered at the introductory level.

Learning Outcomes

On completion of this course you will be able to
  1. Explain the concept of a blockchain: What is a blockchain? How is it different from existing technologies?
  2. Explore the basic structure and operation of the Bitcoin Blockchain protocol using the actual blockchain: UTXOs, transactions, blocks, chain of blocks, validation, mining, proof-of-work consensus protocol; hashing and private-public key cryptography.
  3. Discuss the Ethereum blockchain concepts: account, address, state, computational elements, and the smart contract.
  4. Setup a private Ethereum node (geth) and transact on the Ethereum blockchain created for the course.
  5. Illustrate with examples, the elements of the Solidity language for programming smart contracts.
  6. Explain the blockchain applicaton stack; Design and implement a smart contract and a test application using Remix integrated development environment (IDE).

How to get the best out of this course?

  • Attend the lectures: interactions and exchanges during the lectures reinforce learning.
  • Please do not hesitate to ask questions during the lectures, if anything is not clear.
  • Bring a laptop to the lecture or share someone else's in the class to follow along when I am demonstrating important concepts and developing code.
  • Complete the hands-on exercises discussed during the class; initially it may be frustrating to get some things working. But you learn by doing.
  • Think of at least one use-case that you can develop into a blockchain-based application, as a capstone project for the course.