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.