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

Arvind Narayanan (he/his)
Instructor
Prof. Arvind Narayanan (he/his)
arvindn@cs.princeton.edu
Office hours: T 2-3PM & F 3-4PM, Sherrerd 308

Grace Cimaszewski (she/her)
Assistant Instructor
Grace Cimaszewski (she/her)
ghc2@princeton.edu
Office hours: TTh 4-5PM, Friend 010

Mikako Inaba (she/her)
Assistant Instructor
Mikako Inaba (she/her)
minaba@cs.princeton.edu
Office hours: W 3-5PM, Friend 010

Watson Jia (he/his)
Assistant Instructor
Watson Jia (he/his)
watsonj@princeton.edu
Office hours: MW 1:30-2:30PM, Friend 010

Nicolas Koh (he/his)
Assistant Instructor
Nicolas Koh (he/his)
ckoh@princeton.edu
Office hours: M 3-5PM, Friend 010

Mona Wang (she/her)
Assistant Instructor
Mona Wang (she/her)
monaw@princeton.edu
Office hours: F 10:30AM-12:30PM, Friend 010, Zoom

Alexander Valtchanov (he/him)
Undergraduate Assistant/Grader
Alexander Valtchanov (he/him)
Office hours: TBA

Betsy Pu (she/her)
Undergraduate Assistant/Grader
Betsy Pu (she/her)
Office hours: TBA

Christine Cho
Undergraduate Assistant/Grader
Christine Cho
Office hours: TBA

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


Calendar


Textbook

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. In lieu of a textbook, we will provide annotated lecture slides.

Lectures

Lectures meet on Tuesday and Thursday 11:00am - 12:20pm.

Assignments Policy

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

Late assignments will lose 10% of value for every day of lateness. We won't accept homework more than seven days late.

We will waive these penalties only in the case of unforeseeable circumstances like medical emergencies, as documented by your Dean or Director of Studies and our approval.

Grading

The grade breakdown is 72% assignments; 28% final exam. There is no midterm exam.

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/
ECE 432
grads
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.

A note about StackExchange, Wikipedia, and online forums. Many of the topics in this course require self-teaching. This includes a lot of searching online for documentation and information about algorithms, technologies, and techniques. Unfortunately, this includes a wide gray area between learning and plagiarism. Don't be afraid of searching for and using online resources that teach you how to do something that is not a direct requirement of an assignment.

For example, you are free to find and implement a method that converts integers to byte arrays in an assignment about cryptography; just make sure to cite your source and thoroughly understand the implementation, as your graders will not be lenient with copied code that is buggy. If you find yourself searching for implementations of a security-related algorithm, then you are likely violating the collaboration policy. When you are unsure, ask one of the staff members.

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.