General Information
General Information
Course Information
Title: Computer & Information Security & Privacy I
CRN: 54949
Instructor
Matt Bishop
Email: mabishop@ucdavis.edu
Office: 2209 Watershed Sciences (but mostly at home these days)
Phone: (530) 752-8060
Office Hours: Tu 12:10pm–1:00pm, ThF 1:30pm–2:20pm; or by appointment, or by chance
Teaching Assistants
Yu-Chieh Chao; Email: ycjchao@ucdavis.edu
Office Hours: to be arranged
Muwei Zheng; Email: mzheng@ucdavis.edu
Office Hours: to be arranged
Lectures
MWF 11:00am–11:50am in 1322 Storer Hall
Discussion Section
A01: M 1:10pm–2:00pm 1002 Giedt
PTA Numbers
The department policy on issuing PTAs is available at https://cs.ucdavis.edu/undergraduate/current-majors/policies;
click on the “Permission to Add (PTA) Policy for Undergraduates” link.
If you need a PTA, please read that page, and follow the instructions there.
Please do not ask me for a PTA!
I cannot issue them and the department will not issue one unless you meet the criteria there.
Course Outline
Introduce principles, mechanisms, and implementations of computer security; learn how attacks work, how to defend against them, and how to design systems to withstand them
Course Goals
Some goals we hope you achieve:
- learn about security in UNIX-like systems (such as Linux) and other programming environments;
- learn how to attack a system, and to defend it by analyzing the system for vulnerabilities and ameliorating those problems;
- understand the strengths, and weaknesses of cryptography as a tool of security;
- learn how access to systems, resources, and data can be controlled;
- learn the basics of writing security-related programs; and
- learn about security in networks.
Prerequisite
The prerequisite for this course is ECS 150, Operating Systems.
Students who have not taken this course are at a serious disadvantage in this class, and will be dropped unless the instructor approves them taking the class.
To make your case, please fill out the missing prerequisite request at https://photorosters.ucdavis.edu/prerequisites/.
Explain why you believe you can take the course without the prerequisite.
We also strongly recommend you have taken ECS 152A, Computer Networks, or EEC 173A, Computer Networks (these are the same course).
Online Discussions and Such
We will use Piazza for this; it is accessible through Canvas. The first announcement has the link to use to sign up.
Text
- M. Bishop, Computer Security: Art and Science, 2nd Edition, Addison-Wesley Professional, Boston, MA (2018).
ISBN 978-0-321-71233-2.
- Recommended: R. Anderson, Security Engineering: A Guide to Building Dependable Distributed Systems, 3rd Edition, John Wiley & Sons, Inc., New York, NY (2020). ISBN 978-1-119-64281-7.
Class Web Site
The class web site is on Canvas.
To access it, go to http://canvas.ucdavis.edu and log in using your campus login and password.
Then go to ECS 153A in your schedule.
Announcements, assignments, handouts, and grades will be posted there,
and you must submit assignments there. The alternate web site,
http://nob.cs.ucdavis.edu/classes/ecs153a-2026-02
has everything except grades, and you cannot submit work there.
Grading
Grading and Weights
| What |
|
Weight |
| Homework | | 40% |
| Quizzes | | 10% |
| Midterm | | 20% |
| Final | | 30% |
These are tentative and subject to change.
Extra Credit
Extra credit is tallied separately from regular scores.
It counts in your favor if you end up on a borderline between two grades at the end of the course. But, not doing extra credit will never be counted against you,
because grades are assigned on the basis of regular scores.
You should do extra credit if you find it interesting and think that it might teach you something.
Remember, though, it is not wise to skimp on the regular assignment in order to do extra credit!
Quizzes
There will be quizzes every so often — usually one or two times each week. These quizzes are open book and open notes. You can take them repeatedly until you are satisfied with the outcome. Only the last time you take it will count. These quizzes will typically be due at 11:55pm on the day after being assigned.
Exams
Midterm examination: Monday, May 4 in class
Final examination: Thursday, June 11 at 10:30am
If you miss an exam for medical reasons (you must document this; no other excuses are acceptable),
you may be allowed or required to take a make-up exam, or the other parts of the course will be counted proportionally more (the choice is the instructor’s).
In particular, forgetting to do an exam is not an excuse for missing it!
Special Accommodations
The Student Disability Center provides letters of accommodation for those who need them.
If you need such accommodation, please contact the Student Disability Center as early as possible so you will not be disadvantaged.
Academic Integrity
The UC Davis Code of Academic Conduct, available at https://ossja.ucdavis.edu/code-academic-conduct, applies to this class.
In particular, for this course, all work submitted for credit must be your own.
You may discuss your assignments with classmates, with the instructor, or with the teaching assistant in the course to get ideas or a critique of your ideas,
but the ideas and words you submit must be your own.
Unless explicitly stated otherwise, collaboration is considered cheating and will be dealt with accordingly.
A good analogy between appropriate discussion and inappropriate collaboration is the following:
you and a fellow student work for competing software companies developing different products to meet a given specification.
You and your competitor might choose to discuss product specifications and general techniques employed in your products,
but you certainly would not discuss or exchange proprietary information revealing details of your products.
Ask the instructor for clarification beforehand if the above rules are not clear.
For written homework, you must write up your own solutions and may neither read nor copy another student’s solutions.
You may not post your answers, or any answers, on a web site.
Remember to cite, and give the source for, anything you copy or paraphrase, as is standard academic protocol.
Plagiarism is cheating and will be handled as such.
For programs, you must create and type in your own code and document it yourself.
You may not put your program on a public repository.
Note that you are free to seek help while debugging a program once it is written.
You may not use any form of artificial intelligence in your work.
If you need help with grammar or writing, please contact the Campus Writing Center; they are very good.
Any cheating will be reported to the Office of Student Support and Judicial Affairs.
With respect to this class, this may result in a 0 on the assignment or an F in the class;
see the department policy at https://cs.ucdavis.edu/undergraduate/current-majors/policies.
With respect to the University, the consequences may be much more severe; see https://ossja.ucdavis.edu/academic-misconduct.
Be sure to read the description of plagiarism in the Code of Conduct.
In this class, as in every class at the University, plagiarism is absolutely forbidden.