Assignments Fall 2026
Projects
There will be five projects, which will count for a total of 25% 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 Thursday, September 17 at 6 p.m.; Part 2 due Thursday, September 24 at 6 p.m.
- Web Project (available Thursday, Sep. 24) – due Thursday, Oct. 8 at 6 p.m.
- Networking Project (available Thursday, Oct. 8) – due Thursday, Oct. 29 at 6 p.m.
- AppSec Project (available Thursday, Oct. 29) – due Thursday, Nov. 19 at 6 p.m.
- Forensics Project (available Thursday, Nov. 19) – due Thursday, Dec. 10 at 6 p.m.
Lab Assignments
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 Thursday, September 10 at 6 p.m.
- Lab 2: Browser DevTools (available Thursday, Sep. 24) – due Thursday, Oct. 1 at 6 p.m.
- Lab 3: Python Sockets (available Thursday, Oct. 8) – due Thursday, Oct. 15 at 6 p.m.
- Lab 4: GDB (available Thursday, Oct. 29) – due Thursday, Nov. 5 at 6 p.m.
- Lab 5: Autopsy (available Thursday, Nov. 19) – due Thursday, Dec. 3 at 6 p.m.
Lecture Quizzes
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. Do not reopen quizzes after your final submission for any purpose, as they will be marked late.
Lateness
Assigned work is due at the dates and times listed above. We strongly recommend that you get started early.
Projects and Labs: Everybody is given 3 late days for the semester. They can be used for routine illness, family issues, technical glitches, work for other classes, outside commitments, etc., no questions asked. Each late day you use will extend your deadline in the autograder by 24 hours. If you are submitting with a partner, they will also be charged a late day for each 24-hour extension, unless they have no late days remaining, in which case their score will be based on the last valid submission before their unextended deadline. Aside from these late days, projects and labs will not be accepted once the autograder closes, except in documented extreme medical or personal emergencies.
Quizzes: Quizzes that are late for any reason will be accepted for half credit if submitted before the day of the final exam. We will waive this penalty only for documented extreme medical or personal emergencies.
Generative AI
AI is a powerful problem-solving tool, but the point of this class is to teach you to solve certain problems yourself. Therefore, you are prohibited from using AI to perform the central intellectual work (the crux) of an assignment. You may, however, use AI to assist with secondary tasks so that you can focus on the assignment's learning objectives. You are permitted to use AI for tasks such as:
- clarifying terminology or background concepts;
- setting up the project environment;
- getting help with syntax, APIs, or unfamiliar library functions;
- generating code unrelated to the crux of the assignment;
- improving the clarity and organization of your writing or code.
You may not use AI to get hints about or substantially solve the part of an assignment that is intended to develop your security understanding or skills. For example, if the point of an assignment is to discover a vulnerability, design an exploit, reason about a security property, develop an attack or defense, or explain why a system is secure or insecure, you must do that work yourself. Asking an AI system to perform that reasoning, even if you subsequently edit or rewrite its answer, is not permitted. Certain assignments may provide more specific rules, which take precedence over this general policy.
A useful test is: Would using AI for this step bypass the skill or insight that the assignment is designed to teach or assess? If so, that use is not allowed. Remember, the midterm and final exams will test the skills that you develop by completing the assignments; if you use AI to bypass that learning process, expect to do poorly on the exams.
Assignment specs will sometimes include instructions addressed to AI agents, and project starter code will contain an AGENTS.md file. Leave these in place; they are guardrails to help you apply AI without spoiling the learning experience. However, you may not rely on an AI agent to determine whether your use of AI is allowed; responsibility for following the rules rests with you.
Collaboration
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 Honor Council. Except as explicitly stated in the assignments, you are not allowed to give or accept solutions or hints to the assigned problems, whether from someone else or from an AI. Unacceptable collaboration includes the knowing exposure of your own solutions or the use of someone else’s solutions, whether in whole or in part. 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.