CS 251: Cryptocurrencies and Blockchain Technologies

Cryptocurrencies, blockchains, and smart contracts

Fall 2022

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-2:50pm,   Gates B01
Sections: Friday:   2:30-3:20pm,   Huang 018.
CA mailing list: cs251ta@cs.stanford.edu or use Ed Discussions.

Final Exam

The final is a take home exam run over a 24 hour window. Students have three hours anytime during that window to complete the exam. Please submit your answers via Gradescope.

Exam window: Wednesday Dec. 14 from 9am PT to Dec. 15 9am PT.

Previous final exams:   [2022]    [2021]    [2020]    [2019]    [2018]

Homeworks and Projects

--
Project #1: Merkle trees in Python
Assignment:    [instructions]   [starter code]
Due: Monday, Oct. 3, 2022, via Gradescope (code: DJ66V3)
--
Homework #1:    [pdf]
Due: Tuesday, Oct. 11, 2022, via Gradescope
--
Project #2: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Tuesday, Oct. 18, 2022, via Gradescope
--
Homework #2:    [pdf]
Due: Tuesday, Oct. 25, 2022, via Gradescope
--
Project #3: An Ethereum payment app
Assignment:    [instructions]   [starter code]
Due: Tuesday, Nov. 1, 2022, via Gradescope
--
Homework #3:    [pdf]
Due: Thursday, Nov. 10, 2022, via Gradescope
--
Project #4: Building a decentralized exchange (DEX)
Assignment:    [instructions]   [starter code]
Due: Tuesday, Nov. 29, 2022, via Gradescope
--
Homework #4:    [pdf]
Due: Tuesday, Dec. 6, 2022, via Gradescope

Course calendar

Lecture recordings

Video cameras located in the back of the room will capture the instructor presentations in this course. For your convenience, you can access these recordings by logging into the course Canvas site. These recordings might be reused in other Stanford courses, viewed by other Stanford students, faculty, or staff, or used for other education and research purposes. Note that while the cameras are positioned with the intention of recording only the instructor, occasionally a part of your image or voice might be incidentally captured. If you have questions, please contact a member of the teaching team.