Course Meeting Times
Lectures: 2 sessions / week, 1.5 hours / session
Programming experience is required to succeed in this course. See the list of Introductory Programming Courses on OCW.
Bitcoin and other cryptographic currencies have gained attention over the years as the systems continue to evolve. This course looks at the design of Bitcoin and other cryptocurrencies and how they function in practice, focusing on cryptography, game theory, and network architecture. Future developments in smart contracts and privacy will be covered as well. Programming assignments in the course will give practical experience interacting with these currencies.
There are three assignments for this course that are described further in the Assignments section.
Groups of 1–4 submit topics for a final project. Teams will design and implement an application or system, add a new feature to an existing system (e.g., a cryptocurrency or shared ledger implementation), propose a new formalization in this space, or pose and solve an interesting problem.