Proposal: Your project proposal should describe what you plan to do, why it is interesting, how you plan to do it, and what you are not sure about. Also describe what resources you think you will need to carry out the project (e.g., VMs, datasets). The end product of the proposal is a crisp problem statement.
Checkpoint #1: Your checkpoint report should describe your progress on achieving the goals you included in your proposal. Clearly explain any changes you have made to the goal of your project based on your experience so far. Also, provide a concrete plan of what you will need to accomplish in the remaining weeks to complete your project.
Checkpoint #2: Similar as Checkpoint #1. And what's more, you must include primary results (e.g., small-scale measurement results, examples that your prototype can already handle, etc).
Final paper: Your final paper should be written like a research paper you read in class.
Final submission: Submit your reports and code to the instructor and TAs via email.
Code: The simplest way is to host your project repository at GitHub or BitBucket, and add the instructor and TAs as the collaboators. It is ok if you want to keep your code confidential, but please talk to us explicitly.
Paper/report format: Please format you reports and papers with the USENIX paper template.