Main page content
Department of Computer Science
In computer science, students can often "learn by doing." This is key to my teaching strategy.
I offer challenging implementation assignments that require students to understand the mathematical models and algorithms to the point where each step is explicit---and usually along the way, realize which steps they had overlooked in passing. I strive to make the context of the assignment intriguing, so that they are problems that students simply want to solve. My goal is for the course material not only to provide sound background, but also to foster "aha" moments, where abstract technical concepts become concrete and thus more firmly understood.