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.

Administrative

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