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
General problem solving skills. This course will be offered at the introductory level.
On completion of this course you will be able to
- Explain the concept of a blockchain: What is a blockchain? How is it different from existing technologies?
- 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.
- Discuss the Ethereum blockchain concepts: account, address, state, computational elements, and the smart contract.
- Setup a private Ethereum node (geth) and transact on the Ethereum blockchain created for the course.
- Illustrate with examples, the elements of the Solidity language for programming smart contracts.
- 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.