Independent Research Project

The semester-long project in COS 597S is a systems-building project, done either individually or in a small team1, that must involve significant programming and development effort.

Topic

There are two types of projects in 597S:

Reimplementing and Reproducing Research Project

Reproducibility in research is important for the integrity of the scientific record and the overall trajectory of the community’s research: positive or negative results in the scientific record influence what problems a researcher tackles next. This is especially important in the wireless domain where the environment itself can be a source of variation in results. The goal of this type of project is to independently reimplement a published research result and based on your independent code, execute an independent evaluation with the aim of reproducing some or all of the prior-published experimental results.

Novel Research Project

Novel research project topics must be closely related to the content and topics taught in 597S, and must be formulated after discussion and consultation with the instructor, who will take a narrow view of which project satisfy this criterion (e.g. your ongoing research on superconducting quantum devices will not likely be approved).

Project Proposal

There are two types of projects in this class: reproducing others’ research results, and novel research. Initial Proposals should be submitted as public posts on the Ed discussion board and be about 500 words in length. Following the initial proposals, there will be a discussion period involving a back-and-forth between the proposers, their classmates, and the instructor, on the Ed discussion board (participation here is worth 20% of the participation component of your grade). Based on these discussions, final proposals should be refined and expanded to be approximately 750 words in length.

Reproducing Research Proposal

Include a background paragraph or two giving the name of the paper, the authors, venue, and year, followed by a brief summary of the paper’s problem domain and the challenges the paper is solving.

Next describe the technical approach the authors take, their evaluation strategy, and the key experimental results they present.

Your reproduction and evaluation plan should comprise the bulk of your proposal; begin with your proposed implementation strategy (language, programming framework, hardware/software setup if needed). Next comes your evaluation strategy- are you using simulated data and/or traffic or signal traces? What key results from the paper are you trying to reproduce? Be specific here, mentioning the figures and your rationale for choosing these results. Discuss how you will compare your findings with the previously published results, either quantitatively or qualitatively, and your rationale for this choice. Discuss any new questions you will attempt to answer about the experimental results or any new settings you will evaluate that may not be addressed in the original paper.

Novel Research Proposal

Begin with a background paragraph introducing the problem your research project is attempting to solve and why it is an important problem to solve. Include an explanation of how your problem relates to the topics and/or papers of 597S. Include a discussion of the problem’s novelty: what’s the current state of the art in the research literature (and possibly industry), and why are these approaches insufficient? What is your novel technical insight or approach to solving the problem?

Next present a plan for your implementation, specifying details such as programming languages, platforms, traces, data sets, frameworks, etc.

Then, discuss your experimental evaluation plans: what are the key questions that your evaluation will address? What is your evaluation strategy in terms of the experimental methodology- go into specifics on how you will design your experiments to answer the questions you have posed. Then, what experimental results will you produce- in paragraphs, you should present a rough subsection-by-subsection outline of what you expect the experimental evaluation section in your final report will look like. Include here planned graphs, specifying axis categories for each plot (i.e., what type of plot is it- line/bar/CDF/scatter plot? What will be on the x-axis, and the y-axis?)

Final Project Deliverables

There are three deliverbles for the final project: code, project presentation, and a paper.

The code should be delivered as a URL to a private github repository owned by the Princeton University organization or your own github account.

The project presentation should follow the same outline as a research paper presentation (minus the “opinion part”) and will be 20-40 minutes in length (TBA later in the semester).

The paper should be six to eight pages of two-column text (excluding references) following USENIX format. Appendices should contain only Generative AI prompts if you used them in your project.

Project Timeline

  • October 4, 2024: Team Formation and Initial Project Proposal deadline
  • October 5–October 24, 2024: Proposal Discussion Period (Ed Discussions)
  • October 25, 2024: Final Project Proposal deadline
  • December 13, 2024 (Dean’s Date) 11:59 PM: Final Project Report and Final Source Code Submission deadline

Collaboration Policy

Students may talk to others about the project, but assistance must be limited to discussion of the problem and sketching general approaches to a solution. Each team must independently produce their own work and write their own code.

  1. If done in a small team, team members are expected to share equally in the implementation effort, and will describe each others’ work at the end of the semester. Teams of three of more should speak with the instructor before formation; for fairness to all, the size of the team is commensurate with the size of the expected deliverables.