Prerequisite: C or better in CSCI 3341 Operating Systems. The course covers principles of computer systems security. We will discuss various attack techniques and how to defend against them. Topics include Network attacks and defenses, Operating system holes, application security (Web, e-mail, databases, viruses, social engineering attacks, privacy, digital rights management, cryptography, access control, and security protocols). Course projects will focus on building reliable code.