COMPSCI 236R: Topics at the Interface between Computer Science and Economics

COMPSCI 236R: Topics at the Interface between Computer Science and Economics

Spring 2019: Blockchain and Cryptocurrencies

Meeting: Tuesdays and Thursdays 9:00-10:15am, Maxwell Dworkin G125 
Instructor: Yiling Chen, 
Teaching fellow: Daniel Moroz,
Office Hours: 
Yiling: Thursdays (except 1/31) 10:15-11:30 or by appointment, Maxwell Dworkin 233.  
Daniel: Thursdays 3:00-4:00 or by appointment, Maxwell Dworkin 2nd floor lounge.

This year we have Kate Vredenburgh ( from Philosophy Department to help us design an ethic module for the course. If you have any ethics related questions, please feel free to reach out to Kate.

Note: Enrollment of this course will be limited to facilitate seminar-style discussion of papers. If necessary, we'll use a survey to help with the selection of students, with preference given to graduate students and students with the strongest background.  

General Information

This is a rotating topics course that studies the interplay between computation and economics. The class is seminar style and readings are drawn from artificial intelligence, theoretical computer science, machine learning, multi-agent systems, economics, psychology and operations research.  

The topic of Spring 2019 is blockchain and cryptocurrencies. Blockchain and cryptocurrencies are a rapidly changing field that has the potential to fundamentally impact business, finance and other segments of the society. The field is highly interdisciplinary, bringing together security, distributed systems, economics, business and law. In this course, we will provide an overview of the technology behind blockchain and cryptocurrencies and discuss recent research papers, techniques and challenges on incentives, scalability, privacy, consensus mechanisms, smart contracts, among other topics of blockchain and cryptocurrencies. We hope to expose students to a diverse set of topics of this exciting field. 

Course Goals

The main goal of this course is to provide an introduction to the interdisciplinary literature for students looking to identify research directions in this area. Along the way, we will also develop some technical background in game theory, economic modeling, systems, and cryptography, and hopefully also more general skills related to reading papers and thinking about research problems. This is a seminar course and students will be expected to participate in class discussion, present one or more papers, and write a final course paper. Students are expected to achieve a comfort level with both economic and computational thinking, become familiar with the status quo in the area, and, to the extent possible, work on an open research problem.


Formal requirements include a basic course in calculus (AM 21a or equivalent), a linear algebra course (AM 21b or equivalent), a probability and statistics course (STAT 110 or equivalent), an algorithms course (CS 124 or equivalent), and a background in either AI or microeconomic theory (CS 181, CS 182, EC 1011a, or equivalent.) The informal requirement is a reasonable level of mathematical maturity. Familiarity with economic theory is helpful but not required. Familiarity with AI and computer science theory is helpful but not required.

Mathematical analysis and formalism will be fundamental to the course, and students should expect to learn additional mathematics on their own as necessary. I recommend that students unsure about their background read a couple of papers from the reading list, and email or talk to us during the first week.

Course Structure and Grading Policy

This course is primarily a seminar course. We will spend most of the term reading and discussing research papers. However, we will include lectures on some important background materials that will help with understanding the material in the papers that we will read. There will be 2 problem sets.

The final grade in the class will breakdown roughly as: participation and comments 25%, problem sets 20%, presentation of research papers 20%, project 35%.

Students are expected to read the papers in advance, submit short summaries, comments and answers to reading questions before class, participate in class discussion, and present and lead discussion on one or more sets of papers (typically in a pair).

In lieu of a final exam there will be a final research paper, on a topic of the student's choice. Good papers can form a foundation for a research leading to a conference publication, or a senior thesis for undergraduates. Students are encouraged to work in pairs for final projects other than exposition papers.

Collaboration PolicyDiscussion and the exchange of ideas are essential to academic work. If you work in a team for final project, collaboration within the team is essential and strongly encouraged. However, it is expected that each member of a team makes roughly equal contributions. For final projects, you are encouraged to consult with your classmates outside of your team on the choice of topics and to share sources. You may find it useful to discuss your chosen topic with your peers, particularly if you are working on the same topic as another team. However, you should ensure that any written work your team submit for evaluation is the result of your team's research and writing and that it reflects your team's approach to the topic. You must also adhere to standard citation practices in this discipline and properly cite any books, articles, websites, lectures, etc. that have helped you with your work. If you received any help with your writing (feedback on drafts, etc), you must also acknowledge this assistance.

Submitting Comments and Presenting Papers

You are required to read papers and other listed reading materials before each class. (Materials listed under Extra Readings on the Schedule page are optional.) You MUST submit comments on the readings by midnight before class once we start to read papers. Your comments should include good-faith answers to posted reading questions (if any) and general comments. For research papers, things to think about for general comments include (you don't need to hit all of these...):

  • what is the main contribution of the paper?
  • is this important, why?
  • what was the main insight in getting the result?
  • what is not clear to you?
  • what did the authors not do?
  • what are the most important assumptions, are they limiting?
  • what applications does this suggest?
  • how does this relate to other things we have seen?
  • what extensions does this suggest?
  • can you suggest a two-sentence project idea based around the ideas in this paper?

I also recommend you read the blog post by Prof. Michael Mitzenmacher on How to Read a Research Paper.

You won't be graded on the correctness or the rigorousness of your answers to reading questions. These questions are designed to assist in understanding the material and to encourage discussion.

Presenting papers: Students will present papers (likely with a partner) and, in addition to the presentation, be ready to lead a discussion in class. Students presenting papers must come by to office hours one week before their presentation and talk with me about the paper(s) before their presentation. Students are also asked to propose reading questions for the papers they present. Please read the Presentation Notes for expectations on student presentations.

Course Reading

There is no required text. All readings will be distributed electronically and sometimes in class. 

Final Paper

The goal of the final paper is to develop a deep understanding of a specific research area related to the topic of the class, and to the extent possible to work on an open research problem. Although paper topics must be approved, students are free to pick a topic of interest in the general field related to the topic of the semester. Students are required to submit a proposal, give a short presentation, and submit a final paper (maximum 10 pages except for Appendix material). Papers may be computational, theoretical, experimental or empirical. Students may write an exposition paper (maximum 10 page) on at least three related technical papers of their choice that are related to the course material. Such a paper MUST include an exposition of formal results in these papers, provide a critical discussion of assumptions made by the authors and suggestions about future work, and provide a new perspective.

Tentative schedule:

- Tuesday 3/5: project proposal due

- Tuesday 4/30: project presentation

- Tuesday 5/7: final paper due

Course Summary:

Date Details Due