I am a Professor of Computer Science at Duke University, where I currently also serve as Associate Chair. I am also a Visting Faculty Researcher at Google Research. I have been at Duke since 2013. Previously, I have worked briefly or temporarily at Microsoft Research, Bell Labs Research, Google Research, and the Simons Institute for Theory of Computing.
I obtained my PhD in theoretical computer science at the Massachusetts Institute of Technology under the supervision of Prof. David Karger by defending this. Prior to that, I studied at the Indian Institute of Science (advised by Prof. Ramesh Hariharan) and at Jadavpur University.
A long time ago, I grew up in the industrial town of Durgapur where I went to St. Xavier's School.
My (often outdated) CV.
I am broadly interested in theoretical computer science, particularly in the design and analysis of algorithms. My two main research thrusts are graph algorithms and algorithms and uncertainty. In graph algorithms, I am interested in the study of network flows, graph cuts, and connectivity. In algorithms and uncertainty, I am interested in both classical frameworks such as online, dynamic, and stochastic algorithms, and also the design of algorithms that leverage machine learning to overcome worst-case performance barriers.
In addition to theoretical research, I am also interested in the design of algorithms for practical problems. This has taken me in many different directions, including algorithms for navigation maps, online search, online advertising, social networks, and e-commerce, the design and management of computer networks, database management and query processing algorithms, and algorithms with applications in artificial intelligence.
I am part of the theory group and am also affiliated/collaborate with the CS-econ, AI/ML, and database groups at Duke.
A complete list of my publications (along with download links to papers) is available here (arranged chronologically) and here (arranged by topic). You can also download my PhD thesis here.
If you are a prospective PhD student interested in working with me, apply to the Duke Computer Science PhD program. You can write me an email note informing me of your interest, but that does not change your chances of admission.
If you a current Duke undergraduate student interested in doing research with me, contact me by email. Please note that my research projects require a strong grounding in mathematics and knowledge of algorithms at least at the level of a typical undergraduate algorithms course such as Compsci 330.
Ruoxu Cen (5th year PhD student)
Anish Hebbar (3rd year PhD student)
Ian Zhang (undergraduate student)
Yu Cheng (postdoc, 2017-19): faculty at Brown
Kyle Fox (postdoc, 2016-17): faculty at UIUC
Keerti Anand (PhD, 2022): Quantitative Trading Analyst at Millenium
Kevin Sun (PhD, 2022): faculty at UNC Chapel Hill
Samuel Haney (PhD, 2019): Machine Learning Engineer at LinkedIn
Nathaniel Kell (PhD, 2018): Associate Manager at Beghou
Lu Wang (MS, 2023)
William He (BS, 2023): PhD student at CMU
Arun Ganesh (BS 2017, PhD from UC Berkeley): Research Scientist at Google Research
Haofeng (Fred) Zhang (BS 2018, PhD from UC Berkeley): Research Scientist at Google DeepMind
My research has been funded mostly by the National Science Foundation through its various programs (including a CAREER award). I have also been supported by the Army Research Office, Google, Yahoo!, the Indo-US Science and Technology Forum, and Duke University. I gratefully acknowledge their support.
I am not teaching in Spring 2026.
For a complete list of courses that I have taught (including links to course material), please click here.
Duke University, Campus Box 90129
308 Research Drive (LSRC Building), Room D203
Durham, NC 27708 USA
Tel: +1 (919) 660-6545
Fax: +1 (919) 660-6519
The fastest and preferred way to reach me is by email. My username is my first name and the domain is cs.duke.edu