I am an Associate Professor and Chair of Computer Science at Carleton College. I have been a member of the Carleton faculty since September 2003. Prior to Carleton, I worked as a post-doctoral researcher at Hewlett Packard Laboratories from 2000-2003. I earned a PhD and an MS in Electrical Engineering from Northwestern University and a BS in Electrical Engineering from the University of Notre Dame.

My research interests include quality of service/quality of experience of Internet applications; self-healing networks; streaming media; network measurement; performance analysis of computer and communication networks; and human-computer interaction. I focus on the intersection of application performance and network performance, determining how the two interact with and react in the presence of each other. Currently, I'm interested in self-healing networks for the home: specifically, how do we design networks for the home that can detect potential future quality degradations in application performance and mitigate such degradations before they occur? For more information, see my research page.

I teach courses in Computer Networks, Human-Computer Interaction, Computer Security, Computer Architecture, Software Design, and our Intro course sequence. I've also taught and developed courses on Digital Storytelling, Peer-to-Peer and Multimedia Computing, and a dyad on human-centered computing (with the Psychology department). In addition, I typically advise our Senior Comprehensive Exercise ("Comps"). For more information, see my teaching page.

Want to know what's going on in my research lab, in the classroom, in the news, in my head? Then you'll want to visit my blog.

FAQs for students (research, letters of recommendation, etc)

Selected recent publications

(undergraduate authors listed in bold)

Full publication list