CS 4630 Defense Against The Dark Arts
A0 – A6 · orals

Assignments & Orals

A0

Onboarding

required

Get set up, agree to the rules, and prove your environment works.

AI-OK
A1

Reverse Engineering + Cavity Virus

10%5% code + 5% oral

Read x86, reason about memory layout, and plant a virus in a binary without changing its size.

AI-OK
A2

Buffer Overflow + Format String

10%5% code + 5% oral

Hijack control flow two different ways — arc injection and a format-string write.

AI-OK
A3

ROP + Obfuscation

10%5% code + 5% oral

Build a ROP chain against a non-executable stack, then study where AI deobfuscation breaks.

AI-OK
A4

Web Security: Attack → Patch → Break

10%5% code + 5% oral

Attack a vulnerable web app, defend a fresh instance, then break a classmate's defense.

AI-OK
A5

Threat Evasion

10%5% code + 5% oral

Write detection rules for real attacker behaviour, then evade a classmate's rules.

AI-OK
A6

Prompt-Injection Tournament

bonus

Bonus — build a guarded LLM app, then attack everyone else's. The most AI-proof assignment in the course.

AI-OK

Oral evaluations

A five-minute conversation about code you already submitted — this is where your understanding is checked, not by inspecting your submission (which we can't verify anyone actually wrote).

The format

The technique

We ask you to change something and predict the outcome, then run it. Recall questions are weak; prediction questions can't be faked. If you did the work, this is a conversation you'll enjoy.

Each round is worth 5% of the course grade. A low oral score is a grade, not an accusation — there’s no honor referral attached to it. The structure handles the integrity question without anyone having to prove anything.

Fairness

Why this exists

A person’s understanding of the code in front of them is visible in about ninety seconds, so the grade moves to where it can be observed directly rather than inferred from a submission nobody can verify the authorship of. It’s also the one point in the semester where every student has a one-on-one technical conversation with course staff. The full reasoning is in the AI policy.