Deliverables

What you’ll learn in this module

This guide outlines the expectations for your course project. We will define the philosophy behind a successful report, walk through the essential components of your proposal, and detail the requirements for your final video and code submission.

The Philosophy of the Project

Project reports often focus solely on final results. We want you to shift your attention to the process and the decisions you make along the way. Your report should explain the reasoning behind your choices, such as why you selected one method over an alternative.

You must start by clarifying your objectives. We need to know what you intend to do and why those questions matter. From there, you will provide a detailed description of your data. This includes the source of the data, how you compiled it, and the preprocessing steps you took. You should also identify the data types of your focal features and explain which features you believe are relevant for the analysis.

Determining the appropriate methods follows naturally. You should discuss methods used in previous studies to provide context. We encourage you to explore what approaches others have taken with similar datasets. This helps you justify why a particular method is suitable for the information you aim to present.

An honest project clarifies the limitations and advantages of its approach. These constraints stem from your data and methodologies. You must discuss them in light of existing work. For instance, if you develop a link prediction algorithm based on common neighbors, you need to ask when that algorithm fails. You should also articulate the advantage of your algorithm over alternatives like graph neural networks.

We also ask you to embrace failures. Thomas Edison famously said that he did not fail but simply found 10,000 ways that did not work. Research often appears to follow a single linear path. The reality is that people take many paths that turn out effectively unsuccessful. It is crucial to try multiple candidates. More importantly, you must document your failures to understand why they did not work. You can use fake data, small subsets, mock-ups, and sketches to iterate and refine your approach. These “failures” often lead to the most successful outcomes.

The Proposal

A complete proposal includes several distinct sections that guide us through your plan.

You begin with the Project Title and the names of your Team Members. Teams can range from one to four people. Keep in mind that we expect a larger team to accomplish more than a smaller one.

The narrative starts with an Abstract. This is a concise summary of your project. You then move to the Introduction. This is where you must clearly present the “diff of ideas.” The claim that “nobody has done this” is never a sufficient justification. You must convince us why we should care. This means explaining exactly how previous works are fundamentally flawed and demonstrating the value of your successful solution. We require substantive critiques of existing literature, not just a passive review.

Next you define your Questions or Objectives. This specifies the methods you plan to create and what you hope to discover from the data.

Finally you detail your Datasets and Methods. You must identify the dataset you will be using. If you have not done so already, we strongly encourage you to reconsider your project. Obtaining and cleaning datasets is time-consuming. You need to describe the dataset structure and data types. You also need to explain the methods you plan to apply and justify those choices. Provide enough detailed information to convincingly argue that the dataset is suitable for your proposed methods.

Sprint Projects

We review the documents and structure of the files, along with git history. We verify that your repository reflects a structured, iterative process rather than a chaotic last-minute rush.

Final Presentation

We ask you to create a 10-minute video and upload it to YouTube. You have the option to publish it or keep it unlisted. You can choose any format you prefer. The goal is to include a thorough analysis while making the content interesting and enjoyable.

We evaluate the video on three criteria. First we look at the strength of the case you present. Second we assess the quality of your analysis. Third we judge the production and delivery of your presentation. Once you complete your video, we encourage you to share it on Slack to receive feedback from fellow students and instructors. Seeing what others have accomplished is a great way to learn.

Final Report

You will submit your code along with a report on your work. Ideally, you will organize your code in well-documented Jupyter notebooks. You can look at Peter Norvig’s notebooks or high-quality Kaggle kernels for inspiration on structure and clarity.

The report has no minimum or maximum length. Your responsibility is to ensure all topics are thoroughly addressed in clear writing. The specific format and ingredients will depend on the type of project you undertake. If you are creating a software package or a website, your report may focus more heavily on the technical aspects of implementation.