# Research

Distributed algorithms help agents work together to solve problems,
even in the presence of difficulties like bad communication channels or
equipment failures.
These algorithms have been used with great success in large
wired networks and shared memory machines.
My interest as a researcher is finding *new* settings
where distributed algorithms prove useful.

Much of my recent work focuses on distributed algorithms in wireless networks. There are an increasing number of devices networked by radio links, serving an increasing number of uses. Many of these networks will need algorithms with provable guarantees. Motivated by this need I am working to help bridge the gap between distributed algorithm theory and wireless network practice.

With this goal in mind,
over the past half-decade I've helped lead the push toward
introducing more *non-determinism* into the wireless models
used by theoreticians (improving the robustness of properties proved in these
models),
and moving theory work in this setting to *higher levels of abstraction* (avoiding the
dependency
of results on specific low-level models of radio communication).

# Funding

I am currently funded by NSF CCF proposal number 1320279, "AF: Small: Algorithms for Wireless Networks with Dynamic Links," as well by a Ford Motor Company University Research Program grant. I am the only academic PI on both grants.

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