CS 251: Cryptocurrencies and Blockchain Technologies

Cryptocurrencies, blockchains, and smart contracts

Autumn 2021

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


Course syllabus (and readings)
Course overview (grading, textbooks, coursework, exams)
CS251 Lectures: Monday, Wednesday:   1:30-3pm,   on Zoom
Sections: Friday:   2:45-3:45pm,   STLC 119.
CA mailing list: cs251ta@cs.stanford.edu or use Ed Discussions.

Course NFT: Students who completed the course received a course NFT viewable on OpenSea here.

Homeworks and Projects

Homework #1:    [pdf]
Due: Monday, Oct. 4, 2021, via Gradescope (code: D5GKRX)
Project #1: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Monday, Oct. 11, 2021
Homework #2:    [pdf]
Due: Monday, Oct. 18, 2021, via Gradescope
Project #2: An Ethereum payment app
Assignment:    [instructions]   [starter code]
Due: Monday, Oct. 25, 2021
Homework #3:    [pdf]
Due: Tuesday, Nov. 2, 2021, via Gradescope
Project #3: Building a decentralized exchange (DEX)
Assignment:    [instructions]   [starter code]
Due: Wednesday, Nov. 10, 2021
Project #4: Using SNARKs
Assignment:    [instructions]   [starter code]
Due: Friday, Nov. 19, 2021
Final exam:    [pdf]
Due: Wednesday, Dec. 8, 2021, via Gradescope

Course calendar