CSE 127: Computer Security

CSE 127

Schedule: Lecture:TTh 12:30-1:50 (via Zoom), Discussion: W 3-3:50 (via Zoom)

Instructor: Stefan Savage
Office hours: Fri 11-12 (via Zoom)

Teaching Assistants:

Teaching Assistant && Tutor office hours:
See Google Calendar at bottom of webpage


This course focuses on computer and network security, covering a wide range of topics on both the "defensive" and "offensive" side of this field. Among these will be code security and exploitation (buffer overflows, race conditions, SQL injection, etc), access control and authentication, covert channels, protocol attacks, firewalls, intrusion detection/prevention, viruses/worms and bots, spyware and phishing, denial-of-service, privacy/anonymity, and computer forensics. The goal of the course is to provide an appreciation of how to think adversarially with respect to computer systems as well as an appreciation of how to reason about attacks and defenses.

To complete the projects in this course, you will need the ability to develop software programs using the C language, and some understanding of Assembly, PHP and SQL. We will not reach these in class and you will be expected to learn them on your own. If you do not know C, I recommend the classic, The C Programming Language, by Kernighan and Ritchie, because it is short and simple.


Due to the coronavirus pandemic, all lectures, discussion sections, office hours, review sessions, etc will be carried out using Zoom. Regularly scheduled lectures and discussion sections will appear on Canvas associated with this course. Note: we will be recording all lectures to allow students who have disperse to different time zones or with irregular access to the Internet to watch when they are able.

We will be using Piazza for class discussion. Rather than emailing questions to the teaching staff, please post your questions on Piazza; this will keep the discussions organized and let everyone benefit from the answers. We may also use it for announcements, so be sure to sign up (you can sign up at: https://piazza.com/ucsd/spring2020/cse127/home.

Academic Integrity

Finally, each student is responsible for knowing and abiding by UCSD’s Policy on Integrity of Scholarship. Any student violating university standards will earn an 'F' in the course and will be reported to the appropriate campus office. Committing acts that violate integrity or community standards are cause for suspension or dismissal from UCSD as per the 2017 Guidelines for Academic Integrity violations.

Charles Elkan's academic honesty guidelines developed for CSE 130 explicitly spell out many of your reponsibilities, and must be adhered to. If have any questions, please ask. A pandemic is hard enough, without cheating. Don't do it.