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.

 

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 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.