CS513: System Security - Overview and Organization

Course Overview. This course discusses security for computers, communications networks, and distributed systems. We will cover applications of cryptography as well as abstractions, principles, structuring constructs, and methods for implementing military as well as commercial-grade secure systems.

Course URL:   http://www.cs.cornell.edu/Courses/CS513/2002SP/

Lecture:Attendance is required.

10:10 - 11:25am Tuesday and Thursday. Upson B17.

Reserve Monday 7:30pm-930pm (Phillips 101) for occassional (and optional) discussion sections devoted to the course project. These meetings will be scheduled as needed and announced in lecture, one week before each meeting.

Instructor:
Professor Fred B. Schneider   (255-9221)   4115C Upson Hall

Office hours: Available most afternoons, Tues - Thurs. Feel free to drop by.

email: fbs@cs.cornell.edu.   Please send email only to request an appointment (include some choices for days and times that you are available to meet). Other email will be read but not answered. Email is a painfully ineffective and impersonal way to discuss anything substantive, and Schneider refuses to allow email to replace live student-teacher interactions.

Other Staff:
Benjamin Atkin batkin@cs.cornell.edu 5138 Upson
Feng Shao fshao@cs.cornell.edu 4162 Upson
Office hours for meeting with these folks.

Prerequisites. The course is open to any undergraduate or graduate student who has mastered the material in CS414 (Operating Systems) or CS514 (Distributed Systems) or CS519 (Engineering Computer Networks) or CS601 (Systems Principles) or CS614 (Advanced Systems). Familiarity with the JAVA programming language will be helpful in doing the required programming assignments.
Reading: There is no required textbook for this course.

Lecture notes for many of the lectures can be found on-line.

In addition, the following books, on-reserve in Carpenter Library, should prove useful:

Assignments and Grading. In keeping with the professional (and practical) orientation of this course, assignments are underspecified, open-ended, and motivated by problems that arise in the real world (messy as it is). You will have to think, refine problem specifications, make reasonable and defensible assumptions, and be creative.

Much of your grade is based on a multi-part JAVA group-programming project to design and implement an electronic voting system.

Final course grades will be computed as follows:

All assignments are due on the date stipulated. No late assignments will be accepted.

Students are expected to work in groups of 2 - 3 on the programming projects (only). Working with other people can lead to a better understanding of the material and will enable you to develop collaboration skills that should prove helpful throughout your career. Each participant in a group, however, must be able to explain the entire content of any submitted solution. All members of a group will receive the same grade for each project phase they submit together.