Professional and Biographical Information


Ph.D. University of California, Los Angeles (2016)
M.A. University of California, Los Angeles (2011)
B.A. Reed College (2009) 

Research Interests

The goal of my research is to understand the computational power and limitations of distributed systems. Distributed systems are everywhere: familiar examples include computer networks, social networks, ant colonies, and the human brain. Like all distributed systems, each of these examples consists of a set of entities (computers, people, ants, neurons) that operate autonomously, and interact with one another and their local environment in order to perform some task. 

In my work, I study abstract computational models of distributed systems. Such models were developed in order to understand computer networks, yet they are relevant to the study of all distributed systems---not just man-made computers. Thus, my work has addressed a broad range of problems arising in the sciences: stable matching theory in economics, packet forwarding in networks, local and sub-linear time graph algorithms, network verification, and clock synchronization. While these topics are superficially disparate, I seek to find an underlying unity between fields using the language and techniques of distributed computing.

Teaching Interests 

I am thrilled to teach all levels of computer science courses, from introductory programming to advanced seminars on theoretical computer science. Computer science is remarkable in that it interfaces with nearly every other field of study. I highlight these connections in the classroom by studying problems relevant to other disciplines.

My courses emphasize the conceptual aspects of computer science. My goal is for students to achieve fluency in "algorithmic thinking," which I believe to be valuable independent of any computing technology. By combining practical and theoretical approaches, I hope to give students the tools necessary to reason about and impact the world around them.

Selected Publications

  • “A Stable Marriage Requires Communication,” with Yannai Gonczarowski, Noam Nisan, and Rafail Ostrovsky. Games and Economic Behavior, vol. 118, 2019, pp. 626–647, doi:10.1016/j.geb.2018.10.013.
  • “With Great Speed Come Small Buffers: Space-Bandwidth Tradeoffs for Routing,” with Avery Miller and Boaz Patt-Shamir. Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, doi:10.1145/3293611.3331614.
  • “Fault Tolerant Gradient Clock Synchronization,” with Johannes Bund and Christoph Lenzen. Proceedings of the 2019 ACM Symposium on Principles of Distributed Computing, PODC 2019, doi:10.1145/3293611.3331637.
  • “The Arboricity Captures the Complexity of Sampling Edges,” with Talya Eden and Dana Ron. 46th International Colloquium on Automata, Languages, and Programming, ICALP 2019, doi:10.4230/LIPIcs.ICALP.2019.52.
  • “On Sampling Edges Almost Uniformly,” with Talya Eden. 1st Symposium on Simplicity in Algorithms, SOSA 2018, doi:10.4230/OASIcs.SOSA.2018.7.
  • “The Space Requirement of Local Forwarding on Acyclic Networks,” with Boaz Patt-Shamir. Proceedings of the ACM Symposium on Principles of Distributed Computing, PODC 2017, DOI:10.1145/3087801.3087803.
  • “Fast Distributed Almost Stable Matchings,” with Rafi Ostrovsky. Proceedings of the 2015 ACM Symposium on Principles of Distributed Computing, PODC 2015, DOI:10.1145/2767386.2767424.