In this introductory course students will learn how to defend and protect critical computer assets from various security threats including computer worms and viruses. This course will describe fundamental techniques and principles for modeling and analyzing security. Students will learn how to express security requirements, translate requirements into policies, implement mechanisms that enforce policy, and ensure that these policies are effective. Current industry best practices for safeguarding computer resources will be discussed. Various case studies will outline the typical way that security failures get exploited by attackers and how these attacks can be discovered, understood, and countered.