Course Description

How to secure computing systems, communications, and users. Basic cryptography; private and authenticated communication; software security; malware; operating system protection; network security; web security; physical security; cryptocurrencies and blockchains; privacy and anonymity; usable security; economics of security; ethics of security; legal and policy issues.

Staff and office hours

Prateek Mittal
Prof. Prateek Mittal
Office: B326 Equad
Office hours: By appointment

Joseph Eichenhofer
Assistant Instructor
Joseph Eichenhofer
Office hours: Tue 12:30-1:30pm and Wed 12-1pm (CS 003)

Casey Chow
Undergraduate Assistant/Grader
Casey Chow

Narek Galstyan
Undergraduate Assistant/Grader
Narek Galstyan

For undergraduate assistants' office hours and locations of the AI office hours, please check the calendar below, as they might change from time to time.

For questions about lectures, go to the instructor's office hours. For questions about assignments, go to one of the AIs' office hours.

It is almost always more appropriate to post your question about the assignments, lectures, or other course materials on Piazza rather than emailing an individual staff member.



There is no required or suggested textbook in this course, because there is no one book that covers the right material in an up-to-date fashion. Some good books about security, in case you are interested, are listed on the Resources page.


Lectures meet on Tuesdays and Thursday 11:00am - 12:20pm in Friend 009

Assignments Policy

Some assignments are individual assignments while others assignments must be done in groups (of two or three partners).

Late assignments will lose 10% of its value for every day of lateness. Homework more than seven days late will not be accepted.

Late assignment penalties will be waived only in the case of unforeseeable circumstances like medical emergencies, as documented by your Dean or Director of Studies and our approval.


More info here.....No makeup exam will be considered without a Dean's recommendation and our approval in advance.


Grades will be computed by the following formula: 70% assignments (equal weight) + 25% final exam + 5% class participation.

Collaboration Policy

This course permits many forms of collaboration, including help from course staff, classmates, and lab TAs. However, you must be careful to collaborate only as authorized below. Here is a summary, where ✔ means YES and ❌ means NO. If you have any questions, please contact the course staff.

activity your group course staff COS 432/
ELE 432
classmates other
discuss concepts with ...
acknowledge collaboration with ...
expose solutions to ...
view solutions from ...
plagiarize code from ...

Your solutions. On individual assignments, you must individually compose all of your solutions. The term solutions refers to any of the products created when completing a programming assignment, such as source code (including comments) and the readme.txt file. It includes both finished and unfinished products, regardless of correctness or completeness.

Working Groups. Some assignments require you to work in groups. Here are the rules regarding group work.

Why Work in Groups? There are several reasons for our decision to make you work in groups.

Plagiarism. As members of the University community, students are bound by the rules and procedures described in Rights, Rules, Responsibilities.

All the rules above continue to apply after assignments are graded and after the end of the semester.