Introduction to Computer Security Fall 2015

This course introduces the principles and practice of computer security. It aims to teach you how to model threats to computer systems and how to think like an attacker and a defender. It presents standard cryptographic functions and protocols and gives an overview of threats and defenses for software, host systems, networks, and the Web. It also touches on some of the legal, policy, and ethical issues surrounding computer security in areas such as privacy, surveillance, and the disclosure of security vulnerabilities. The goal of this course is to provide a foundation for further study in computer security and to help you better understand how to design, build, and use computer systems more securely. See the schedule for details.


Course Staff


Ariel J. Feldman

Office hours:
Mon., Wed. 2–3:30pm
Ry. 161A


Hao Jiang

Office hours:
Wed. 11:30am–1pm, Thu. 9–10am
Ry. 257

Yun Li

Office hours:
Fri. 2–5pm
Ryerson 4th floor
(Door and elevator are locked. For access, take stairs and knock on door or email Yun.)

Min Xu

Office hours:
Tue., Thu. 1–2:30pm
Ry. 178

Course Information

Prerequisites CMSC 15400
Lectures Mon., Wed., Fri. 10:30–11:20am, Ry 251
Communication We'll use Piazza for general discussion and questions about course material.
Assignments will be distributed here and be collected via Phoenixforge (instructions here).
Reference Books No textbook is required, but if you would like additional references, we recommend:
Cryptography Engineering by Ferguson, Schneier, and Kohno
Security Engineering by Ross Anderson
Introduction to Modern Cryptography by Katz and Lindell


The coursework consists of five homeworks, five projects, and a final exam. In addition, students enrolled in CMSC 33250 must submit a weekly paper response based on the readings, which are optional for undergraduates. All assignments must be done individually with the exception of Projects 4 and 5, which will be done in groups. Your course grade will be based on the following components:
Undergraduate (CMSC 23200) Graduate (CMSC 33250)
Homeworks 30% 20%
Projects 45% 45%
Paper Responses N/A 10%
Class Participation 5% 5%
Final Exam 20% 20%


This course owes a great deal to introductory computer security courses developed by others: