Published using Google Docs
LfA Fall 2019 Syllabus draft
Updated automatically every 5 minutes

Law for Algorithms - Fall 2019

Boston University: CS 791 / JD 673

UC Berkeley: CS 294


Thursdays, Sep 5 to Dec 5

UC Berkeley will hold an additional meeting Aug 29 

UC Berkeley: 1:30-3:20pm pacific (Simons Institute, Room 116),

BU: 4:20-6:20pm eastern (Law School, Room 204)


Ran Canetti (BU CS), Stacey Dogan (BU Law), Aloni Cohen (BU CS & Law)

Shafi Goldwasser (UC Berkeley CS), Frank Partnoy (UC Berkeley Law)

Algorithms - those information-processing machines designed by humans - reach ever more deeply into our lives, creating alternate and sometimes enhanced manifestations of social and biological processes. In doing so, algorithms yield powerful levers for good and ill amidst a sea of unforeseen consequences.   This cross-cutting and interdisciplinary course investigates several aspects of algorithms and their impact on society and law. Specifically, the course connects concepts of proof, verifiability, privacy, security, trust, and randomness in computer science with legal concepts of autonomy, consent, governance, and liability, and examines interests at the evolving intersection of technology and the law. Grades will be based on a combination of short weekly reflection papers and a final project, to be completed collaboratively in mixed teams of law and computer science students.

This course consists of weekly meetings during the Fall 2019 semester, to be attended simultaneously by law and computer science faculty, students and scholars based at Boston University and UC Berkeley.



For law students: An open mind for computer science and mathematical thinking.  No prior knowledge of computer science is needed.

For CS students: An open mind for understanding legal thinking and language, as well as the social aspects of information systems.  Broad  understanding of modern computer systems is expected. While this is primarily a graduate level course, advanced undergraduate students may enroll after receiving permission from the local CS instructor.  

For other students: Please contact one of the instructors.

Piazza site for the class

Please sign up to the piazza site for the class: [link] Piazza will be used for communications and as a discussion forum.

Course requirements

  1. Readings for each class session will be posted on the course website. Students should read these materials before class and should come to class prepared to discuss them.
  2. Over the course of the semester, students will complete 3 short projects in mixed law/cs teams of 3-4 students (with each team including at least one law and one cs student). Because one of the goals of this course is to develop your skills at communicating across disciplines, you should seek out as many different teammates as possible; at the very least, you must ensure that you don’t complete more than one short project with the exact same team. These projects will focus on one of the many “tough nuts” that we will explore in this course. The team should prepare a paper that identifies a “tough nut” and suggests a legal, technological, and/or mixed legal/technological response. The topic for the first short assignment will be specified by the course instructors; student teams will choose topics for the second and third assignments. Teams must submit these papers on the dates listed on the syllabus.

Scribing.  Each class will be assigned  pair of scribes (preferably from two different disciplines). The scribes will prepare a high-quality account of the material taught in the class, along with the discussions, references, and potentially  complementing the lecture with missed material.   The scribe notes will be revised together with course staff, and will  be posted as a public  record of  the course.  First draft of the scribe notes is due within a week of the lecture. Scribes will be exempt from one of the short homeworks.  A sign-up sheet for scribe notes is here.

  1. Mixed 3-4 person teams will also complete a final project, consisting of a 2500-3500 word paper, as well as an in-class presentation by team members. (For this project, it’s fine to work with the same team as you did on one of your short projects.) The team may choose to further develop one of their “tough nut” topics, or may address a new topic relating to the intersection between algorithms, social values, and legal governance questions.

NOTE: [Optional]. Students interested in further developing their projects into a more substantial (and potentially publishable) work are welcome to discuss their goals with one of the course faculty. Faculty members may supervise a limited number of such projects as independent/directed study projects in the spring semester 2020.

Tentative list of lectures

  1. 8/25 [Only Berkeley]

  1. 9/5 Introduction:  A brief primer to law and legal thinking.  A brief introduction to computer science and algorithmic thinking.   An introduction to the topics covered in the class.

Module I: Algorithms and  the social fabric: Speech, harm, privacy, bias

        (CS tools and concepts:  Machine Learning, Bias)

  1. 9/12 Machine learning algorithms: Their operation and their uses.  The power in aggregating information. Interpretability.


  1. 9/19 Prediction algorithms and bias in society and law. Explainability and Understandability  of ML algorithms.



        Additional Resources

  1. 9/26 Introduction to the ways in which we as individuals and citizens are affected by various uses of algorithms on social media and public platforms.  Social and legal responsibilities of platforms owners (e.g. FB, Google)  and users.

                Required Readings:


Additional resources:


On deplatforming:

and Daily Stormer (


On the EU approach to regulating online content:


Concerns and commentary:

Misinformation and illegal content:

Short assignment #1 due by midnight on Monday, September 30.

Module  II: The right to privacy:  Secrecy vs. Utility and  Accountability

(CS tools and concepts: Zero-Knowledge proofs, Computation on Private Data, Differential Privacy)

Module #2 Assignment

Identify a question / problem with a legal component that can be solved / addressed / informed using [an understanding of] of one or some of the technologies discussed in this module (i.e., computing over encrypted data, zero knowledge, reconstruction attacks, differential privacy). The question should present some sort of challenge---it shouldn't be clear cut, legally nor technically. Present the question, the challenge, and how the challenge might be addressed. A good question will require computer science students to explain to their partners the relevant technology to the extent needed to understand the challenges and proposed approaches.

At most 5 pages, double spaced. Due date: On or before Monday, 10/28 , 11:59pm PST.

Example topics

These examples are drawn from the class material or additional readings. You can start with one of these or go with something else that interests you. Each example is rich with sub-questions which would make a good topic for this assignment.

  1. 10/3 Computing on Encrypted data and  Multi-Party Computation technology as a way to collaborate even in presence of regulations such as HIPPA. Applications and legal issues.

    Required Reading:

  1. 10/10 Legal issues involving personal data

Required Reading:

Additional Resources:



  1. 10/17 Anonymization, attacks, differential privacy. Ad model, the US Census 2020.

    Required Reading:

Additional Resources

  1. 10/24 Accountability and verification over hidden data. Zero Knowledge proofs.  Applications: Secret courts,  Financial audits. Legal Issues.

    Required Reading:
  1. Physical ZK, Sections 1 & 2
  2. Nuclear ZK, pages 1-5.
  3. Practical Accountability of Secret Processes, video: 
  4. Public Accountability vs Secret Laws: Section 1,
  1. Goldwasser, Micali, Rackoff:
  2. Goldreich's chapter on Zero Knowledge, Section 9.2-9.2.2 (p 411- 422) :
  1. Accountable Algorithms, Parts 1 and 2

Additional Resources:

Short assignment #2 due on or before Monday, October 28.

Module III: Currency, contracts,  intermediaries:  Autonomy, consent, liability

Module #3 Assignment


This module addresses legal and technological issues relating to block chains, cryptocurrencies, automated contract technologies, corporate voting and financial algorithms. Your team should prepare a paper that identifies one of the “tough nut” issues relevant to these technologies, and suggests a legal, technological, and/or mixed legal/technological response. A strong paper will require insight and analysis from both law and CS perspectives.


At most 1500 words, not including references / footnotes. Due date: On or before Monday, 11/18, 11:59pm PST. Format: Google Doc.

  1. 10/31 Block chains, cryptocurrencies, digital cash, automated contract technology

  1.  11/7 Consent, autonomy, automated contracts, online intermediaries

  1.  11/14 Corporate voting; financial algorithms

Required Reading: All PDFs available on Piazza in a .zip file.

Short assignment #3 due on or before Monday, November 18.

Student Presentation

  1.  11/21 Student presentations
  2.  12/05 Student presentations

Final written projects due on or before Friday, December 20.