The growing importance of networks and distributed systems, and their use to support safety-critical applications, has made computer and communications security a central issue for systems today. This course will introduce students to the technical foundations of computer and communications security. These foundations will be illustrated using deployed systems as case studies. The course will assume a basic working knowledge of computers and networks, but will not assume any prior exposure to topics in computer or communications security. Graduate standing or permission of the instructor is required.