Research

I study the theory of distributed systems. I am particularly interested in understanding what can and cannot be solved in novel or exotic systems. Among other topics, I have studied the theory behind dynamic networks (in which the participants are unknown, communication can fail, and/or the network topology can change), peer-to-peer networks made up of smartphones communicating with direct radio links, vehicular ad hoc networks, and distributed coordination strategies from nature.

 

Non-Technical Writing

In addition to my computer science research, I also write about the intersection of technology and culture for a broader audience. I'm the author of six books, including, most recently, the New York Times bestseller, Digital Minimalism: Choosing a Focused Life in a Noisy World. My titles have been translated into over 25 languages and have been featured in many major publications and on many national TV/radio shows. I also regularly write articles on these topics for a variety of outlets, including The New Yorker, The New York Times, and my long-running blog, Study Hacks, which receives over 3 million visits a year. For more on my non-technical writing, see my author web site.

 

Funding

Recent funding sources for my work include NSF CCF award number 1733842, "AiTF: Collaborative Research: Algorithms for Smartphone Peer-to-Peer Networks," NSF CCF award number 1320279, "AF: Small: Algorithms for Wireless Networks with Dynamic Links," NSF CCF award number 1649484, "EAGER: Noisy Computation of Distributed State Machines," the Ford Motor Company University Research Program, and the Georgetown Security and Software Engineering Research Center.

 

Training

Before coming to Georgetown I was at MIT, where I received my PhD working with Nancy Lynch in the Theory of Distributed Systems group, and spent two years as a postdoctoral associate working with Hari Balakrishnan in the Networks and Mobile Systems group.

 

Teaching

In fall 2019, I am teaching the department's undegraduate discrete math requirement. The course web site can be accessed here: COSC 030: Math Methods for Computer Science.

In spring 2019, I am teaching the required graduate theory course. The course web site can be accessed here: COSC 545: Theory of Computation.

In spring 2019, I am also teaching a doctoral seminar on theoretical aspects of blockchain-based distributed ledger systems. The course web site can be accessed here: COSC 841: Blockchain Theory.

In fall 2018, I am teaching the required undergraduate algorithms course. The course web site can be accessed here: COSC 240 - Introduction to Algorithms.

In fall 2017, I am teaching the required undergraduate algorithms course. The course web site can be accessed here: COSC 240 - Introduction to Algorithms.

In spring 2017, I am teaching the graduate-level theory course. The course web site can be accessed here: COSC 545 - Theory of Computation.

In spring 2017, I am also teaching a doctoral seminar on biological algorithms. The course web site can be accessed here: COSC 844 - Doctoral Seminar in Biological Algorithms.

In fall 2016, I am teaching the department's undegraduate discrete math requirement. The course web site can be accessed here: COSC 030 - Math Methods for Computer Science.

In spring 2016, I am teaching the graduate-level theory course. The course web site can be accessed here: COSC 545 - Theory of Computation.

In spring 2016, I am teaching a graduate-level course on distributed algorithms. The course web site can be accessed here: COSC 546 - Distributed Algorithms.
(Notice, this course is also open to undergraduates who are seniors and computer science majors: contact me if you are interested.)

In fall 2015, I am teaching the department's undergraduate discrete math requirement. The course web site can be accessed here: COSC 030 - Math Methods for Computer Science.

In fall 2014, I am teaching the department's undergraduate discrete math requirement. The course web site can be accessed here: COSC 030 - Math Methods for Computer Science.

In spring 2014, I am teaching the graduate-level theory course. The course web site can be accessed here: COSC 545 - Theory of Computation.

In fall 2013, I am teaching an introductory undergraduate course on distributed algorithms. The course web site can be accessed here: COSC 242 - Algorithms for Distributed Systems.

In spring 2013, I am teaching the graduate-level theory course. The course web site can be accessed here: COSC 545 - Theory of Computation.

In spring 2013, I am also teaching a graduate-level topics course on wireless network algorithms. The course web site can be accessed here: COSC 747 - Topics in Wireless Network Algorithms.

In spring 2012, I am teaching the graduate-level theory course. The course web site can be accessed here: COSC 545 - Theory of Computation.

In fall 2011, I taught a graduate reading course that tackles my research interest in unconventional distributed algorithm theory. The course web site can be accessed here: COSC 547 - Distributed Computing Outside the Box.