Homework Exercises

There will be five homeworks during the semester that will count for 25% of your course grade. Unless otherwise noted, you are free to discuss the problems and your general approach with other students in the class. However, the answers you turn in must be your own original work, and you are bound by the Honor Code. Please start early and attend GTA office hours for important instructions and extra help.

  1. Threat Modeling Homework – due Friday, September 6 at 11:59pm
  2. Cryptanalysis Homework – due Friday, September 27 at 11:59pm
  3. DoS Homework – due Friday, November 8 at 11:59pm
  4. Passwords Homework (available Nov. 18) – due Dec. 6 at 11:59pm
  5. Final Review Homework (available Dec. 2) – due Dec. 11 at 11:59pm

Programming Projects

There will be up to five projects during the semester that will count for 40% of your course grade. Unless otherwise indicated, you must work in a team of two. You may consult general reference material, but you may not collaborate outside your team. The material you turn in must be entirely your team’s work, and you are bound by the Honor Code. Please start early and attend GTA office hours for important instructions and extra help.

  1. Crypto Project – due Friday, September 20 at 11:59pm
  2. AppSec Project – due Friday, October 11 at 11:59pm
  3. Networking Project – due Friday, November 1 at 11:59pm
  4. Web Project (available Nov. 4) – due Nov. 22 at 11:59pm
  5. Fuzzing Project (available Nov. 20) – due Dec. 11 at 11:59pm

Lateness: Assigned work is due at the dates and times listed above. We strongly recommend that you get started early. Late submissions will be penalized by 10% of the maximum attainable score, plus an additional 10% every 5 hours until received. Late work will not be accepted after 24 hours past the deadline, since we will begin reviewing the solutions in office hours at that time. The professor may grant individual extensions, but only under extraordinary circumstances.

Collaboration: We are here to provide a nurturing environment for everyone enrolled in the course. However, acts of cheating and unacceptable collaboration will be reported to the Honor Councils, as appropriate. Cheating is when you copy, with or without modification, someone else’s work that is not meant to be publicly accessible. Unacceptable collaboration is the knowing exposure of your own exam answers, project solutions, or homework solutions, or the use of someone else’s answers or solutions.

At the same time, we encourage students to help each other learn the course material. As in most courses, there is a boundary separating these two situations. You may give or receive help on any of the concepts covered in lecture. You are allowed to consult with other students about the conceptualization of a project, or the general approach for solving problems. However, all written work, whether in scrap or final form, must be done by you (or your project partner where applicable).

If you have any questions as to what constitutes unacceptable collaboration or exploitation of prior work, please talk to a member of the course staff right away. You are expected to exercise reasonable precautions to protect your own work, including not posting solutions publicly (e.g., public github repos).