Spring 2023 CS 444 Four-Credit Projects

Proposals due March 10, progress updates due April 14, final projects due May 10

DALL-E 2 results for "Magic Artificer"

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 three 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: 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: A summary of your current efforts, with notes on any modifications to your original project goals. If you are writing a tutorial or survey paper, you should provide a rough draft with a comprehensive list of references. If you are doing an implementation project, at the very least, you should show evidence of successfully running baseline code (e.g., training an off-the-shelf model) on your target data. The target length is three pages. 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: 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.