CS 251: Cryptocurrencies and Blockchain Technologies

Cryptocurrencies, blockchains, and smart contracts

Fall 2023

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:   3-4:20pm,   Nvidia Aud.
Sections: Friday:   2:30-3:20pm,   Building 160 Room 319.
Discussion board: Ed Discussions.
Final exam: Dec. 12,   9 - 11:30am,   Nvidia Aud.

Final Exam

The final is an in-class exam that will take place on Dec. 12, 9-11:30am at the Nvidia Aud. in the Huang building. Please let the TAs know if you cannot make it to the exam in person.

The exam format will be similar to that in previous years. Sample exams from previous years are provided below. You may use your laptop during the exam as long as the WiFi is turned off.

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

Homeworks and Projects

Project #1: Merkle trees in Python
Assignment:    [instructions]   [starter code]
Due: Wed, Oct. 4, 2023, via Gradescope (code: 7DVJKY)
Homework #1:    [pdf]
Due: Tuesday, Oct. 10, 2023, via Gradescope
Project #2: Perform Bitcoin transactions using python-bitcoinlib
Assignment:    [instructions]   [starter code]
Due: Tuesday, Oct. 17, 2023, via Gradescope
Homework #2:    [pdf]
Due: Tuesday, Oct. 24, 2023, via Gradescope
Project #3: An Ethereum payment app
Assignment:    [instructions]   [starter code]
Due: Tuesday, Oct. 31, 2023, via Gradescope
Homework #3:    [pdf]
Due: Tuesday, Nov. 7, 2023, via Gradescope
Project #4: Building a decentralized exchange (DEX)
Assignment:    [instructions]   [starter code]
Due: Tuesday, Nov. 28, 2023, via Gradescope
Homework #4:    [pdf]
Due: Tuesday, Dec. 5, 2023, 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.