Developing Blockchain Use Cases

Spring 2020, Mini 4


Course Listings:

15-621, 45-981, 70-258, 73-258, 95-788


Vipul Goyal, Michael McCarthy, and Ariel Zetlin-Jones



M/W 6:30pm – 8:15pm

First Meeting: Monday, March 16




Vipul at, mm6+ at, azj at




Open to Undergraduates (UBA, Econ, SCS) and Masters (Heinz, SCS, Tepper)


Course Description


Course Focus: Developing Applications or Use Cases for CMU's blockchain and cryptocurrency, CMU Coin. 


Blockchains, or distributed ledger and consensus technologies, hold tremendous promise for improving markets and organically handling private, secure data. As CMU develops its own blockchain and token–CMU Coin–a central concern is to determine the set of applications that such technology would be most useful for. This course is designed for students to propose and, potentially, develop applications or use cases for a campus blockchain.


The course begins with a brief introduction to blockchain using Bitcoin as an example of a blockchain protocol. We will examine the market failure Bitcoin was intended to resolve as well as the role of cryptography and distributed systems in enabling this new technology to create societal value. The course will go on to discuss the boundaries of the role of cryptography in blockchain. Next, we will use these tools to evaluate existing, real-world blockchain use cases with an eye towards developing our own applications of these emerging technologies. Along the way, we will learn practical development skills in distributed ledger technologies to understand blockchain programming and application development. Finally, students will propose their own blockchain use cases for CMU's own proprietary blockchain. For a detailed schedule of materials and labs, please refer to the Course Syllabus.



While the course will not be overly technical on any specific dimension, it will be hands on and you will need to be creative. Therefore, while there are no formal prerequisites, we expect students to have a background in economics, cryptography, or computer science and all students should have some basic comfortability with programming. We will do our best to create groups that feature a mix of existing knowledge. The overall goal is to deliver enough knowledge about the potential and capabilities of blockchain technologies to enable students interested in this space to develop their own uses cases or applications.



The course deliverables will count toward the final grade according to the following distribution. Course Project: 30%, Assignments: 20%, Labs (1-3): 40% Class participation: 10%.


Students will submit their assignments and course project in groups of 4 or less for the duration of the mini. In addition, students will individually complete labs designed to augment what we do in class and help you make progress toward your final project during the mini.


The course project consists of a proposed use case for CMU Coin. All projects will require (i) a proposed application and (ii) a program. Groups may choose to emphasize their proposal or their developed program–in the sense that we will accept ``psuedo-code''or a descriptive explanation of what a fully developed program should do to implement students' proposed application–as long as students have a well developed market application. Alternatively, to the extent that students deliver a fully developed program, they may submit a shorter description of their proposed application and any associated risks. Groups will present their proposed application and code in class at the end of the Mini.


Your participation grade will be based (objectively) on class attendance and (subjectively) on in class participation.

List of Course Materials


Useful Background Information


Materials we plan to cover in class (to be added as we go along)