Spring 2023 CS 444 Four-Credit Projects

Proposals due March 8, progress updates due April 12, final projects due May 7

A dynamic scene featuring a diverse group of three students, including both male and female, working frantically on a complex Rube Goldberg machine DALL-E image of "A dynamic scene featuring a diverse group of three students, including both male and female, working frantically on a complex Rube Goldberg machine"

If you are enrolled in the course for four credits, you are required to complete a project for 25% of your grade. Projects can be done individually or in groups of up to four people. Project formats include, but are not limited to, the following:
  • Implementation or demo: Find a research paper related to the topics covered in class and implement their method. You may want to follow the spirit of recent ML reproducibility challenges. Alternatively, feel free to apply existing methods to new datasets, compare and contrast several methods, adapt or modify them.
  • Kaggle competition: Find a competition on Kaggle (or some other public challenge) and implement a deep learning system for it (it is not necessary to actually enter the competition, or to use all of the data if it is too large).
  • Paper: Write a survey or tutorial paper on the topic of your lecture (or a different topic if you insist). Models for this kind of paper include Carl Doersch's tutorial on variational autoencoders and Ian Goodfellow's tutorial on generative adversarial networks. If the topic you have chosen already has a good recent tutorial like the two above, this would probably not be the best choice (unless you feel you can write a significantly different tutorial that can offer independent value). The paper should be at least 10 pages in length (single-spaced, single column, 11pt font, 1 inch margins) and typeset in LaTeX.
  • Video: Create a compelling short demo or tutorial video (or several videos) to illustrate some concept related to the class. If you choose to go this route, the bar for production values is reasonably high.

Project deliverables (submissions on Canvas):


Proposal should be uploaded to Canvas in PDF format by one group member. The target length is two pages and the format is as follows:

  1. Names of group members.
  2. An informative project title (not "My CS 444 project").
  3. Problem definition and outline of the proposed project or paper.
  4. Key references, including links to any resources you plan to use (especially code and data).
  5. Relationship to team members' backgrounds and any work done outside of this course (e.g., RA, thesis research, project in a different class). Your CS 444 project can be synergistic with what you have done or are doing elsewhere, but it should not consist entirely of work you would be doing anyway.

You will receive feedback on your proposal but not a formal grade. However, failure to turn in the proposal on time will result in a penalty on the overall project grade.

Progress update

If you are writing a tutorial or survey paper, you should provide a rough draft with a complete outline and a comprehensive list of references.

If you are doing an implementation project, you should use the following format:

  1. Names of group members.
  2. An informative project title.
  3. Updated problem definition and plan. If there are any changes from the proposal, please explain the reasons briefly.
  4. Key resources: clearly state which code bases, datasets, and computing platforms you are using. Be explicit whether you are implementing something from scratch or relying on existing code, and whether you are using pre-trained models or training your own.
  5. Summary of work done to date. At the very least, you need to show evidence of successfully running code (e.g., training an off-the-shelf model) on your target data.
  6. Plan for the remainder of the project: State minimum/maximum goals if appropriate. Discuss risks and possible mitigation strategies or alternative directions.
  7. Member roles: Which group member is responsible for which part of the project? How are you collaborating and what is the collaboration plan going forward?
  8. Reference list.

For both survey and implementation update, the minimum target length is three pages, but the more complete and detailed your document is, the better. As with the proposal, you will receive feedback, but not a formal grade, and failure to turn in the update on time will result in a penalty on the overall project grade.

Final deliverable

You need to submit either an implementation report with results, the completed paper, or the video(s).

Format for implementation report: The final report should be submitted in PDF format by one designated group member. It should be (the equivalent of) at least six pages (single-spaced, 11 point font, 1 inch margins) and mimic the style of a research paper. Here is the outline to follow for the report:

  1. Cover page: executive summary: Give informative project title and list of authors. Briefly summarize your problem, line of attack, and most interesting/surprising findings. Be sure to include at least one diagram or example result figure. This is not counted in the six-page minimum.
  2. Introduction: Define and motivate the problem, discuss background material or related work, and briefly summarize your approach.
  3. Details of the approach: Include any formulas, pseudocode, diagrams -- anything that is necessary to clearly explain your system and what you have done. If possible, illustrate the intermediate stages of your approach with results images.
  4. Results: Clearly describe your experimental protocols and identify any external code and datasets used. Present your quantitative evalution (if any) and show some example outputs. If you are working with videos, put example output on YouTube or some other external repository and include links in your report.
  5. Discussion and conclusions: Summarize the main insights drawn from your analysis and experiments. You can get a good project grade with mostly negative results, as long as you show evidence of extensive exploration, thoughtfully analyze the causes of your negative results, and discuss potential solutions.
  6. Statement of individual contribution: Required if there is more than one group member.
  7. References: including URLs for any external code or data used.


You have to submit your source code (if any) for documentation, but grading will be be based primarily on the quality of the report (strength of idea, clarity, thoroughness, extent of analysis, etc.). More will be expected of larger groups. You can still get a good grade if your ideas do not work out, as long as your report shows evidence of extensive analysis and exploration, and provides thoughtful explanations of the observed outcomes.