Assignments Winter 2023
There will be five projects, which will count for a total of 45% of your course grade. You may work individually or with a partner for Projects 1–4, but you must work with a partner for Project 5. You may switch partners between projects.
- Crypto Project – Part 1 due Wednesday, January 18 at 6 p.m.; Part 2 due Wednesday, February 1 at 6 p.m.
- Web Project – due Thursday, February 16 at 6 p.m.
- Networking Project – due Wednesday, March 15 at 6 p.m.
- AppSec Project – due Wednesday, March 29 at 6 p.m.
- Forensics Project (available Wednesday, Mar. 29) – due Wednesday, Apr. 19 at 6 p.m.
Accompanying each project, we'll ask you to complete a simple assignment that provides an interactive introduction to relevant programming languages or tools. We'll go over how to complete these during lab. You must complete them individually, and they will count for a total of 5% of your grade.
- Lab 1: Docker and Python – due Wednesday, January 11 at 6 p.m.
- Lab 2: Browser DevTools – due Wednesday, February 8 at 6 p.m.
- Lab 3: Python Sockets – due Friday, February 24 at 6 p.m.
- Lab 4: GDB – due Wednesday, March 22 at 6 p.m.
- Lab 5: Autopsy (available Thursday, Mar. 30) – due Wednesday, Apr. 5 at 6 p.m.
For each lecture, we will assign a short quiz on Canvas to encourage you to keep up with the material and gauge your understanding. Your average quiz score will form half of your participation grade. Quizzes typically will be due before the day of the next lecture; see Canvas for specific deadlines.
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 4 hours until received. Late work will not be accepted after the start of the next lab (of any section) following the day of the deadline, since we may begin reviewing solutions at that time. The professors may grant individual extensions, but only under extraordinary circumstances.
The material you (and any partner) turn in must be entirely your own work, and you are bound by the Honor Code.
Cheating or unacceptable collaboration will be reported to the Engineering or LS&A Honor Councils, as appropriate. Cheating is when you copy (with or without modification, in whole or in part) someone else’s solution to a problem or a part of a problem. Unacceptable collaboration includes the knowing exposure of your own solutions or the use of someone else’s solutions. You are expected to exercise reasonable precautions to keep your solutions confidential, including not making your project code public during or after the course.
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 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 cheating, please talk to an instructor right away.