I am an Associate Professor of Computer Science at Union College in Schenectady, NY. My research concerns human aspects of computing, specifically software design and user interface design.

In addition to courses in my specialty, I teach courses in Algorithm Design and Data Structures. I also occasionally teach courses for a general-education audience in Union's First-Year Preceptorial and Sophomore Research Seminar programs.

In my research, I am trying to learn, through experiments, how software designers should design software. As part of that work, I am building tools to help novice designers. I also collaborate with Chris Fernandes on HCI research, developing new models and mechanisms for 'undo' commands.

I received my Ph.D. in 2005 from the Department of Computer Science at the University of Massachusetts at Amherst. Before that I spent three years working for Motorola in the Chicago suburbs. Prior to that, I got my Masters and Bachelors degrees from the Department of Computer Science at the University of Virginia, in 1996 and 1993 respectively.