**Research Interests**

I am interested in the following areas of research.

**Computer Science Education**

- Teaching techniques: What forms of classroom activities are more likely to lead to student learning and performance?
- Specific questions about what students know: What do students know about software design? What is the relationship between knowledge about computer science fundamentals and software design?
- Curriculum: Given goals of a computer science program, what are effective
ways of organizing a curriculum to achieve those goals?

For example, what are the roles of writing, basic mathematics, ethics, and other topics in a computer science education?

**Algorithms and Algorithmic Analysis**

- I have no specific problem that I am interested in here. Any problem or application domain that involves a different or unique kind of algorithm interests me. The analysis of such algorithms also interests me. Some examples: parallel computation, NP-complete problems, network packet routing algorithms.