Week Lecture Lab Assignment Readings
0 None
Blockchain For Developers Intro

Video Slides
None None
1
Blockchain and Ethereum Mechanics

Video Slides
Solidity, A Smart Contract Language

Video Slides
None What Is Geth’s “Fast” Sync?
Block Hashing Algorithm
How Bitcion Works (25 Minutes, Recommended)
How Does Blockchain Work
What Do We Mean By “Blockchains Are Trustless”?
2
Ethereum Deep Dive

Video Slides
Truffle and Smart Contract Development

Video Slides
Lab02: Solidity In Depth Ethereum Whitepaper
Formalizing and Securing Relationships On Public Networks
How Does Ethereum Work Anyways?
What Is Gas?
Ethereum - Gas, Fuel, Fees Solidity Docs, Style Guide
Explaining How Proof of Stake, Proof of Work, Hashing, and Blockchain Work Together (Optional)
Ethereum 101 (Optional)
3
Smart Contract Security

Video Slides
Defending Your Distributed Application

Video Slides
Lab03: Defending Your DApp Smart Contract Security Best Practices
Solidity Idiosyncrasies
Does Delete Really Free Up Memory?
Difference Between Memory and Storage Keywords
More On Fallback Functions
When To Use Revert, Assert, and Require
Strings and 2D Arrays
4
Testing and Tokens

Slides
Launching an ICO

Video Slides
Lab04: Midterm ICO Protocol Funding and Tokenomics
Protocol Tokens
Ethereum Token Standards
ERC-20 Anatomy
ERC-223 Token Standard
ERC-721 Anatomy (Optional)
Designing a Stablecoin (Optional)
5
Web3: Interacting With Ethereum

Video Slides
Building a Multi-Signature Wallet

Video Slides
Lab05: Multi-Signature Wallet Proof of Authority Spec EIP
Web3Js Documentation
Building DApps On Ethereum
Metamask Integration
Logging and Watching Solidity Events
Creating Raw Transactions In Ethereum
6
Intro to Distributed Systems & Ethereum P2P Networking

Video Slides
Protocol Development

Video Slides
Lab06 Eclipse Attacks vs. Sybil Attacks
Eclipse Flaws in Ethereum
A Brief Tour of FLP Impossibility
Distributed Systems Cheat Sheet
Failure Modes in Distributed Systems
Peer to Peer Protocols Explained
Kademlia Explained
Time, Clocks, and Ordering of Events in Distributed Systems
The Gnutella Protocol (Optional)
7
State Storage & Mining

Slides
Merkle Trees & Patricia Tries

Slides
Lab07 The Beige Paper
The Yellow Paper (read after Beige Paper)
Merkle Trees vs. Blockchains vs. Hashgraphs
Ethereum Glossary
Ethereum’s Memory Hardness Explained
Ethash Design Rationale
On Settlement Finality
SPVs and Bloom Filters
8
The EVM

Video Slides
Inline Assembly

Slides
Lab08 Diving Into The Ethereum VM
Notes on the EVM
Mastering Ethereum: EVM
9
Scaling Blockchains

Slides

On Scaling Decentralized Blockchains
Making Sense of Ethereum’s Layer 2 Scaling Solutions
Bridges, Plasma, and UTXO Tokens
Plasma Cash (Different than MVP)
10
11