He helped create a supplementary problem solving workshop program based on the Treisman model for computer science students at UWT in 2004. His research interests are primarily in computer science education. For example, he is engaged in research that aims to understand what students think are important skills needed to succeed in the software industry. He is also part of a multi-national research effort to understand assessment instruments in introductory programming. Previously, he has done research in theoretical computer science. He also worked at Microsoft Corporation as a software design engineer for three and a half years.