General Information

Instructor Matt Bishop, 3059 Kemper Hall; phone: 752-8060
Email:; web page:
Office hours: TuTh 12:00 noon-1:00PM, by appointment or by chance
Teaching Assistant Erdem Demir, location to be determined
Office hours: to be determined
Lectures TuTh 1:40PM-3:00PM in 107 Cruess
Discussion Section Th 8:00AM-8:50AM in 166 Chemistry
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:
  1. learn about security in the UNIX system and programming environments;
  2. learn how to attack a system, and to defend it by analyzing the system for vulnerabilities and ameliorating those problems;
  3. understand the strengths, and weaknesses of cryptography as a tool of security;
  4. learn how access to systems, resources, and data can be controlled;
  5. learn the basics of writing security-related programs;
  6. learn about security in networks;
Prerequisites The prerequisite for this course is ECS 150, Operating Systems. Students who have not taken, or are not taking, this course are at a serious disadvantage in this class and will be dropped to make room for those who have had the prerequisites.
Text M. Bishop, Computer Security: Art and Science, Addison-Wesley, Boston, MA. ©2003. ISBN 0-201-44099-7
Computers All registered students have been given an account on the computer science instructional machines in the basement. Change your password as soon as you can; if it is not changed within a week, your account will be disabled and you will have to see a system programmer to have it reset.
Class Web Site The class web site is on MyUCDavis. To access it, go to and log in using your campus-wide login and password. Then go to ECS 153 in your schedule. Handouts and other documents will be posted there. We will also post announcements there, too.
Class Newsgroup Information about this class, homework assignments, and so forth, will be posted to the newsgroup ucd.class.ecs153. Read this newsgroup daily! You are responsible for everything posted to these newsgroups. We'll use it to put out important information. Please do not post to this newsgroup. If you want to post things about the class, please use the appropriate discussion newsgroup (ucd.class.ecs153.d). Discussing something in that newsgroup is perfectly fair (and, in fact, we encourage it).
Homework Homework is due at 11:55PM on the date stated on the homework, unless otherwise stated. See the handout All About Homework for more information.
Extra Credit Extra credit in this course will be tallied separately from regular scores. If you end up on a borderline between two grades at the end of the course, extra credit will count in your favor. However, failure to do 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!
25%   Homework 25%   Midterm exam
25%   Programs 25%   Final exam
Exams Midterm -- Tuesday, May 11, 2004 in class
Final examination -- Saturday, June 12, 2004, 8:00AM--10:00AM
These are open book/open notes exams. No early or late exam will be given; 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 the time or place of an exam is not an excuse for missing it!
Academic Integrity Please see the Spring 2004 Class Schedule and Room Directory for a general discussion of this. In particular, for this course:
  • All work submitted for credit must be your own. You may discuss your assignments with classmates, with instructors, or with teaching assistants or readers 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 in the assignment, collaboration is considered cheating and will be dealt with accordingly.
  • For written homework, you must write up your own solutions and may neither read nor copy another student's solutions.
  • For programs, you must create and type in your own code and document it yourself. Note that you are free to seek help while debugging a program once it is written.
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 or a teaching assistant for clarification beforehand if the above rules are not clear.

Here is a PDF version of this document.