Cryptocurrencies, Blockchains, and Applications

Location: Pittsburgh

Semester Offered: Fall, Spring

Cross listed Courses:

Course Number Department Units
17-303 Institute for Software Research 9
17-703 Institute for Software Research 12
19-303 Engineering and Public Policy 9
19-733 Engineering and Public Policy 12

Cryptocurrencies such as Bitcoin have gained large popularity in recent years, in no small part due to the fantastic potential applications they could facilitate. This course will first provide an overview of the technological mechanisms behind cryptocurrencies and distributed consensus and distributed ledgers (blockchains), introducing along the way the necessary cryptographic tools. It will then focus on more advanced blockchain applications, such as smart contracts, that is, contracts written as code. Finally, the course will also introduce some of the legal and policy questions surrounding cryptocurrencies.

Class format

Lecture and project-based

Home department


Target audience

Undergraduate and graduate students interested in cryptocurrencies and blockchains.

Background required

15-122 (Principles of Imperative Computation) or equivalent is recommended.

Learning objectives

By the end of this course, students will be able to:

  • Reason about cryptocurrencies, both from a technological perspective and from a legal and regulatory perspective.
  • Understand the most important recent developments in cryptocurrencies and blockchains, and will be able to describe them and determine whether these technologies are applicable to certain industry sectors. 

Faculty and instructors who have taught this course in the past

Nicolas Christin