The course project is a crucial component of CompSci 512. Students may work in groups of 2-4 individuals. There are five steps to complete the course project. All submitted write-ups must follow the USENIX format.

We will use four criteria to evaluate a course project: importance, novelty, difficulty, and completeness. (1) Importance: The project should address a significant issue, such as improving the performance of a distributed system or increasing its security. (2) Novelty: The project should investigate something that has not been previously explored. (3) Difficulty: The project should include a substantial, non-trivial programming component. (4) Completeness: The project’s results should provide a complete answer to a research hypothesis.