CS 251: Cryptocurrencies and Blockchain Technologies

Cryptocurrencies, blockchains, and smart contracts

Autumn 2019

The course covers all aspects of cryptocurrencies, including distributed consensus, blockchains, smart contracts and applications. We will focus in detail on Bitcoin and Ethereum as case studies.


Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
CS251 Lectures: Monday, Wednesday:   15:00-16:20,   Gates B01
Sections: Friday:   14:30-15:20,   Thornton 102.
CA mailing list: cs251ta@cs.stanford.edu


Homework #1:    [pdf]
Due: Monday, Oct. 7 2019, via Gradescope (code: MG7EP3)
Homework #2:    [pdf]
Due: Monday, Oct. 21 2019, via Gradescope
Homework #3:    not out yet
Due: Monday, Dec. 2 2019, via Gradescope


Project #1: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Monday, Oct. 14 2019
Project #2: Ethereum de-centralized app (Dapp)
Assignment:    not out yet
Due: Monday, Oct. 28, 2019
Project #3: Using SNARKs
Assignment:    not out yet
Due: Monday, Nov. 18, 2019

Course calendar