CSC 390: Topics in Artificial Intelligence

Final Project Writeup

Due: Tuesday, Dec. 20, 11:59pm on Moodle

Below are the guidelines for the final project writeup. The goal of the writeup is to practice written and visual communication through the explanation of your final project. The tone of the writeup does not need to be extremely formal - I am most interested in your thought process throughout your project.

Your final project writeup must be in LaTeX - you can start from the template in Homework 3.

Introduction and Previous Work

Introduce your topic and place it in a larger context. Provide some scientific (and personal if it applies) motivation for your topic and discuss the "big-picture" goal of your research direction. Even if your project is a small piece, what could someone else accomplish by building on your work.

Then provide an overview of the most similar or related previous work. In the last part of the introduction, include a short description of the scope of your project and how it relates to gaps in previous work. (Note: you do not need an abstract unless you would like to include one.)

Additionally, throughout your introduction you should be explicitly addressing the notion of supervised vs. unsupervised learning and how your project is unsupervised in some way.


Begin the methods section with definitions of terminology and any notation that you will be using. Then describe the main algorithms that you applied or developed. If you are used existing software or methods, provide an overview of how they work in your own words. For any code you wrote, explain the details and be clear about the input and output. Include your commandlines and details of how you ran existing programs (these can be in an appendix). If some of the methods information is best captured in an "algorithm box" or a recipe style list, that's completely fine. If there was a data processing component to your project, provide steps for that.

You could include a separate data section, or include a description of the data in your methods section. Be as explicit and quantitative as possible, and include an example data point or subset of features. Say how many samples there were (m) and how many features (p), and describe labels if applicable.

Throughout the methods, keep in mind the scientific standard of replication - someone else following your writeup should be able to exactly reproduce your results. Citations for existing code and datasets are essential.


Include all your results and a thorough interpretation. (If you like you can put your interpretations in a separate conclusion section, or merge your conclusions and future work sections). It can be especially helpful to include negative results. For example, if you experimented with different initial parameters, thresholds, etc, it might be interesting to include some that did not produce very illuminating results. Sometimes good results are best understood in terms of results that were not as successful. If you did a comparison between two methods and the results were basically the same, that is still an interesting result.

Your results section should include at least one figure (it could also include tables). For all figures, include axes, legends, captions, and any other information that will help the figure stand on its own.

Future Work

There are always things that would be interesting to pursue given more time. Include some ideas for how your project could be continued, or things you might have done differently. Try to keep the tone scientific, but also candid.


Include all references (research papers, links to software and data, etc). From your text and references, someone else should be able to exactly replicate your results. The most common way to incorporate references in LaTeX is through BibTeX:

Using BibTeX
There are more examples here:
BibTeX examples

Let me know if you have any questions about this part, it can sometimes be a bit tricky to get your files of references working with the rest of your document.


I would expect the length of the writeup to be around 5 pages, excluding figures and references. Try to be thorough but avoid filler text.


On Moodle, submit your writeup as a PDF, along with the code you wrote. You do not need to submit any existing software packages or data you used (just cite them).

  • final_project.pdf