Although compiler technology is useful in a wide variety of applications, it is surprisingly difficult to find one that both captures students’ interest and is easy for them to grasp. This paper explores scanning, parsing, and optimization as techniques for detecting viruses and worms. It has been taught three times at two different institutions--a research university and a liberal arts college--with enrollments four to five times greater than that of the compiler course.
Bailey, Coleman, and Davidson discuss their rationale, present a detailed outline, and summarize their experience so far. There is enough detail to replicate the course, but the authors promise they “will soon make the curriculum materials available through a curriculum repository.”
This paper is a well-written argument for a novel approach to presenting fundamental techniques in a context that students find fascinating. It is an excellent example of the kind of thinking needed to move computer science curricula ahead without sacrificing the basics.