This course introduces students to modern network security concepts, tools, and techniques. The course covers security threats, attacks, and mitigations at the operating-system and network levels (as opposed to the software level). Topics include authentication, authorization, confidentiality, integrity, anonymity, privacy, intrusion detection and response, and cryptographic applications. Students will become familiar with modern security protocols and tools. Assignments will involve using security-testing software to uncover vulnerabilities, network packet analyzers, and existing security applications to create secure network implementations. The course requires enough programming and systems background to understand attacks and use systems tools but does not involve significant programming projects. Assignments and projects will use a Linux base for implementation.