Course Content

Defense Against the Dark Arts is a course about computer security, with a particular focus on malware, exploits, and mitigations for malware and exploits.

You may wish to look at the schedule.


Students should be able to read and write C and C++ code and read x86 assembly language before taking this class. These topics are covered in CS 2150, but the additional coverage of CS 3330 is strongly recommended. Exposure to material on exceptions and virtual memory from CS 3330 is also helpful, but not strictly required.

Course Staff and Resources


This is a place to get help on almost any issue. Access via Collab or this link.

Anonymous Feedback

Anonymous feedback is available through Collab. The instructor appreciates your feedback, especially when that feedback could be useful for improving the course.

This feedback is really anonymous. There is no way the course staff can find out who posted it, so the course staff cannot do much with complaints like “you misgraded my homework”.


Charles Reiss


Marco Azevedo, Kean Finucane, Daniel Hoerauf, Lawrence Hook, Ethan Robinson, Yan Zhuang

Office Hours

Charles Reiss’s office hours will be held in Rice 205. Other office hour locations will be announced. Office hours will be on the following calendar:

All faculty office hours are open, meaning we will not close the door and have a private conversation during office hours. If you have sensitive matters to discuss, please email us to set up a separate time to visit about them.


There is no required textbook. The book “The Art of Computer Virus Research and Defense” by Peter Szor is suggested and will be a source for a significant amount of the material in this course.

Other course policies

… are described on the policies page.