Efficiently computing static single assignment form and the control dependence graph
ACM Transactions on Programming Languages and Systems (TOPLAS)
Linux Journal
Linux Journal
Making compiler design relevant for students who will (most likely) never design a compiler
SIGCSE '02 Proceedings of the 33rd SIGCSE technical symposium on Computer science education
A compiler for teaching about compilers
SIGCSE '03 Proceedings of the 34th SIGCSE technical symposium on Computer science education
Safe Virtual Execution Using Software Dynamic Translation
ACSAC '02 Proceedings of the 18th Annual Computer Security Applications Conference
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Teaching students to hack: curriculum issues in information security
Proceedings of the 36th SIGCSE technical symposium on Computer science education
Making compiler construction projects relevant to core curriculums
ITiCSE '05 Proceedings of the 10th annual SIGCSE conference on Innovation and technology in computer science education
The compiler course in today's curriculum: three strategies
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Fifteen compilers in fifteen days
Proceedings of the 37th SIGCSE technical symposium on Computer science education
Teaching the undergraduate CS Information Security Course
ACM SIGCSE Bulletin
Design and implementation of a modern compiler course
Proceedings of the 11th annual SIGCSE conference on Innovation and technology in computer science education
Measuring high school students' attitudes toward computing
Proceedings of the 41st ACM technical symposium on Computer science education
Dr. Horrible's fork bomb: a lab for introducing security issues in CS2
Proceedings of the 18th ACM conference on Innovation and technology in computer science education
Hi-index | 0.00 |
Computer science faculty must attract and retain students by offering innovative courses that spark student interest, yet still teach core, computer science concepts. These efforts have become particularly important as computer science enrollments have declined, thus increasing concerns for attracting and retaining students. We describe an innovative course that leverages students' interest in computer security issues to attract and retain technically-oriented students. Our initial vision was to offer a course covering computer viruses - a subject that even a novice computer user has some familiarity. To avoid the controversy associated with teaching students how to write malicious software, we focused the course on techniques for defending against viruses, so we named the course Defense Against the Dark Arts. In teaching the course, we have found the subject matter provides an engaging way to introduce and reinforce many important computer science concepts that other courses often cover, most particularly, the traditional compiler course. We have taught the course three times at two separate institutions, with a third school soon to follow. The course has been well received by students - completely filling each semester with enrollments that are four to five times greater than the compiler course. Furthermore, student surveys indicate that the course raises students' awareness of computer security while introducing students to important program translation and analysis concepts.