The assignments will give you hands-on experience in implementing the concepts we learn in the class. Have fun!

Unless otherwise specified in Canvas, assignments are due by 11:59 PM EDT. However, staff assistance (e.g., on Piazza or via email) is only provided up to 10:00 PM EDT, so we encourage you to complete your assignments early!

The dates below are estimates and subject to change. Canvas has definitive due dates.

  • Assignment 1: Security Principles and the Basics of Execution

    Due: Sep 5, 2023
    Estimated Duration: Short
  • Assignment 2: Exploits and Mitigations

    Due: Sep 12, 2023
    Estimated Duration: Short
  • Assignment 3: Exploits, ROP, and CFI

    Due: Sep 19, 2023
    Estimated Duration: Long
  • Assignment 4: Exploits, Verification, and Analysis

    Due: Sep 28, 2023
    Estimated Duration: Long
  • Assignment 5: Crypto Basics and PRFs

    Due: Oct 12, 2023
    Estimated Duration: Long
  • Assignment 6: Ciphers, MACs, Authenticated Encryption, and PKI

    Due: Oct 26, 2023
    Estimated Duration: Long
  • Assignment 7: Public Key and Blockchains

    Due: Nov 2, 2023
    Estimated Duration: Long
  • Assignment 8: Trusted Computing and Network Security

    Due: Nov 14, 2023
    Estimated Duration: Short
  • Assignment 9: PKI and the Web

    Due: Nov 21, 2023
    Estimated Duration: Medium
  • Assignment 10: Web, Privacy, Usability

    Due: Nov 30, 2023
    Estimated Duration: Long