Description
The course covers principles of computer systems security. We will
discuss various attack techniques and how to defend against them.
Topics include Network attacks and defenses, Operating system holes,
application security (web, e-mail, databases), viruses, social engineering
attacks, privacy, and digital rights management. Course projects will
focus on building reliable code. The course is intended for senior
undergraduates and first year graduate students.
Prerequisites
The course requires an understanding of operating
systems, networking protocols, and a basic understanding of programming
languages. Programming projects will be done in C, JavaScript, and PHP.
Pre-requisites: CS140 (operating systems).
Textbook Information
There is no textbook for the class.
Instead, we will
use research papers posted on the course
syllabus page
page for every lecture.
In addition, here is an online book that might come in handy:
Sections
- There will occasionally be a section Friday 4:15-5:05pm in
Skilling 191 (live on E2).
- Attendance at the sections is optional.
Homework Assignments
- There will be two written
homework assignments and three programming projects.
- You may collaborate when solving the written
assignments, however when writing up the
solutions you must do so on your own.
- All programming projects can be done in pairs.
- Each programming project will be split into two separate deliverables.
The second part is usually due a week after the first.
- You must submit all assigned work electronically.
Submission instructions will be provided.
- Extensions: Each student has a total of 72
extension hours throughout the quarter.
This automatic extension can be spent in units of 24 hours on any
of the assignments and projects. Please mark the submission
time for any late assignment.
- Homework and projects will be due at 11:59pm on the
specified deadline (usually Thursday).
- It is an honor code violation to consult solutions
from previous CS155s.
Exams
There will be an in-class final exam. No midterm exam.
Grading
Final placement in the class will be determined by the following formula:
0.3 H + 0.5 P + 0.2 F
- H is your average score on the two
written homework assignments.
- P is the weighted average grade on the three
programming projects.
- F is your final exam score.
|