This course is an undergraduate-level introduction to computer security and is targeted towards seniors and advanced juniors.
The course covers both classic topics, such as applied cryptography, authentication, authorization and basic security principles, as well as recent topics such as Web security and virtual machines for security. The course will also involve several assignments that require the student to think both as an attacker and as a defender.
3-4 homeworks, some involving programming in C and x86 assembly code. A midterm and final exam.