CS244c Systems Final project guidelines
Throughout the quarter, you will work in a group of 2-4 people on a project of your choosing. At the end of the quarter, you will turn in a paper describing your project and as your final exam present the project to the class.
The project can involve building an evaluating a distributed system or network protocol, or replicating (i.e., reimplementing) an experiment from a research paper from a systems networking conference (e.g., NSDI, SIGCOMM, OSDI, SOSP, CoNEXT, EuroSys, Usenix ATC).
Your project should be guided by the following deadlines:
By Friday, January 16 you must form a project team of 2-4 people and register your group on Gradescope.
By Tuesday, January 20 you should schedule a meeting of your team with the course staff to discuss your proposed project (details for signups coming soon). The meeting will likely take place later than January 20, but should be scheduled by then.
Once your proposal has been approved, send the staff a project title and short (1 paragraph) description of what you want to do, which may be posted on the web site so everybody knows what the different projects are.
Please schedule your meeting sooner rather than later, in case your team needs to iterate on the proposal. Note, in particular, that it’s fine to meet with us if you don’t have a concrete plan yet, as we can suggest some things for you to look into.
Note: If you want to combine your project with your research or with work for another class, this is in general fine, but please let us know at the time of the proposal. Make sure any other instructor or research supervisor involved knows that you plan to do this.
By Friday, March 6 you must submit through Gradescope a final title and list of project team members, including a link to the git repository for your source code and a one paragraph abstract of your project (which can be the same as your proposal, but things may have changed).
By Friday, March 13 you must upload a paper describing and evaluating your project to Gradescope. The project should be no more than 6 pages in at least 11-point font, and must contain at least one graph quantitatively evaluating your project. Papers and git repositories will be published on the class web site.
The submission should include a description how you used AI to do the project. Use of AI coding agents is allowed if you disclose it, but is by no means required. We will evaluate papers based on human contribution, which means that if you use AI, design will count for more than implementation and we may expect you to produce a more complex project.
On Tuesday March 17 you will present your project to the class and demo what you have done in a mini one-day conference. The conference will include our registrar-assigned exam time (8:30am-11:30am), but continue later. We can schedule around you if you can’t be there for the whole day. We will serve food.
You can use whatever programming language you and your partners want for the project. Some good choices are C++, Rust, and go. You may want to use Stanford’s shared computing cluster. You are also free to use cloud services. (We will attempt to get free cloud credits for students in the class.)