About

Please read this short introduction first...

Prerequisites

To do well in this course, you should ideally have maturity in both the mathematics of computer science and in the engineering of computer systems. This means that you should: have a good understanding of data structures and algorithms; be comfortable writing programs from scratch in C, Java, and a scripting language like Python or JavaScript; be comfortable writing and debugging assembly code; and be reasonably comfortable in a command-line Unix development environment (gdb, gcc, etc). You should also have a good understanding of computer architecture, operating systems, and computer networks. It would also help to know a bit about programming languages and compilers. It would also be helpful to be comfortable with web technologies such as HTML and JavaScript. The formal prerequisites for CSE 484 are (CSE 326 or CSE 332) and (CSE 351 or CSE 378).

Don't panic

Do not be scared if the list above seems a bit daunting: it is not likely that many of the enrolled students will have the "perfect" background in all of these topics. If you are missing a few of these skills, you should be able to learn them quickly, possibly with the assistance of our helpful TAs. You will need to learn things as you encounter them; this is a feature, not a bug. Most importantly, you should be eager to challenge yourself and learn!

Reading

This year, there will be only one required textbook for this course: Foundations of Security, Daswani, Kern, and Kesavan, ISBN 1-59059-784-2. This book should be available from the University bookstore and other retailers.

Note, however, that there will be other handouts and supplementary reading materials that will be posted on the class schedule. You will need to read these before each class. These articles will often have a research focus, which frequently means that you will need to spend more some time on each, perhaps marking them up as you read. Please refer to these helpful guides on how to read research papers critically: link-1, link-2, link-3.

Through these readings, you will be exposed to some topics that are "off the beaten path" and get more exposure to bleeding-edge research in computer security. We will also have some number of guest lectures throughout the course, to give you a different perspective on the topics we cover, often with a research focus.

Summary videos:

As part of your class participation grade, you will be required to create summary videos that will be given at the top of the class. The goal of these is to summarize assigned papers for each class. Note that these are recorded videos. In other words, you are not going to be giving a talk, but we will play your videos at the top of the class.

Here are some examples of short 1-minute videos from the most recent Usenix Security conference. The links below are here to give you a broad range ideas on some of the different ways present research material and also provide some artistic inspiration for you. note that these are 1-minute movies. We expect class movies to be about 3-4 minutes long.

Even if you don't know or fully understand the underlying material, you will see that there is a lot of variation in terms of the visual style as well as whether you use voice-over as opposed to text. We encourage you to experiment! Talk to your friends at the art department, figure out how to use the latest tool for video production or cool modern presentation tools like Prezi, OfficeMix, or Videoscribe. Please visit their sites to learn about each individual tool and see which one(s) you like. You can use other tools or none at all.

You will be expected to create these videos and upload them to a drop site before the beginning of each class. Summary videos should be created in groups of two, with names of both participants clearly indicated on the first slide/image.

Course Staff

Hours

Office Hours

  • Ben: Tuesday after class and by appointment
  • Stanley, Adrian: Monday 1-2:30pm, CSE 218
  • Jenny, Nicholas: Friday 10-11:30am, CSE 218

Class Time and Location:

Tu/Th 11:00-12:20, Savery Hall 264

Section Times

Thursday 1:30-2:20 Physics/Astronomy Auditorium (PAA) A110 and 2:30-3:20 Architecture Hall (ARC) G070.

Maps

Lectures will be held in Savery Hall 264; this is a building on the Quad housing the departments of Sociology. Here is a map link.

‚Äč

Class schedule

This schedule is subject to modification; please check back often...

# Date Description Reading Assignments
9/25/2014
9/30/2014
10/2/2014
10/7/2014
10/9/2014
10/14/2014
10/16/2014
10/21/2014
10/23/2014
10/28/2014
10/30/2014
11/4/2014
11/6/2014
11/11/2014 Veterans' day
11/13/2014
11/18/2014
11/20/2014
11/25/2014
11/27/2014 Thanksgiving
12/2/2014
12/4/2014
12/9/2014

Guest lectures:

(Tentative)

Section slides:

Assignments

Homeworks:

Homework solutions can be accessed from here.

Labs:

Final project:

This class will have a fairly substantial final project. Detailed information about the final project will be provided separately.

Your grade

  • 25% Homeworks
  • 35% Labs
  • 10% In-class activities
  • 30% Final Project

Policies

Many of these policies are taken verbatim from previous instances of this and other UW CSE courses.

What to Bring to Each Class:

Bring at least a few sheets of blank sheets of paper and two pens or pencils (two, in case one breaks or runs out of ink) to each class. The sheets of paper should be pre-separated leafs of paper (and, for example, not pages ripped from a spiral notebook).

First-day survey

We want to learn about your background to better match the course with your needs. Please fill out a first-day questionnaire found here: https://catalyst.uw.edu/webq/survey/livshits/247298.

Ethics form

To receive a non-zero grade in the course, you must sign the security and privacy course ethics form by 9/30/2014 5pm PST. The form is available online at: https://catalyst.uw.edu/webq/survey/livshits/247877.

Late Policy:

Please pay careful attention to the due dates of the assignments. For most labs, and possibly other assignments (but not in-class activities), if you hand in the assignment late, we will take off 20% for each day it is late. When computing the number of days late, we will round up; so an assignment turned in 25 hours late will be downgraded 40%. Please note, however, that some assignments cannot be turned in late; we will clearly specify when this is the case, but do also ask if the policy seems unclear. We will not consider granting Incompletes.

Reasonableness:

The "Reasonable Person Principle" applies throughout this course. This principle simply states that a reasonable request made in a reasonable fashion shall be reasonably handled by reasonable persons. Let's all be "reasonable people" working on the same team to make this a great learning experience.

Cheating vs. Collaboration:

Collaboration is a very good thing. On the other hand, cheating is considered a very serious offense. Please don't do it! Concern about cheating creates an unpleasant environment for everyone. If you cheat, you risk losing your position as a student in the department and the college. The department's policy on cheating is to report any cases to the college cheating committee. What follows afterwards is not fun for anyone.

So how do you draw the line between collaboration and cheating? Here's a reasonable set of ground rules. Failure to understand and follow these rules will constitute cheating, and will be dealt with as per university guidelines.

The Gilligan's Island Rule:

This rule says that you are free to meet with fellow student(s) and discuss assignments with them. Writing on a board or shared piece of paper is acceptable during the meeting; however, you should not take any written (electronic or otherwise) record about the assignment away from the meeting. This applies when the assignment is supposed to be an individual effort or whenever two teams discuss common problems they are each encountering (inter-group collaboration). After the meeting, engage in a half hour of mind-numbing activity (like watching an episode of Gilligan's Island), before starting to work on the assignment. This will assure that you are able to reconstruct what you learned from the meeting, by yourself, using your own brain.

The Freedom of Information Rule:

To assure that all interactions are on the level, you must always write the name(s) of who you talk with about your assignments (aside from course staff) on your assignment. These names should be listed in a prominent location at the top of the first page of your assignment.

Contact Us

Contacting couse staff

Email Address, to reach all staff: cse484-tas@cs.washington.edu.

Communications

The class mailing list is multi_cse484a_au14@uw.edu. We will use this list to make official class-related announcements. We will assume that all students in the class will be on this list, and furthermore, we will assume that everybody will be checking their mail regularly (at least once a day, during the week). It is conceivable that we will use the mailing list to announce assignments, or to make changes/fixes to assignments. Lastly, there is also a discussion forum for the class.

Mailing lists

If you're enrolled in CSE 484 or CSE M 584, then your @u.washington.edu email address should be automatically subscribed. If you just enrolled, you may have to wait a day before the system is automatically updated. You can verify your enrollment or join the mailing list by going to this page: https://mailman1.u.washington.edu/mailman/listinfo/multi_cse484a_au14.

Archives

All email sent to the class list is archived here: https://mailman1.u.washington.edu/mailman/private/multi_cse484a_au14/.