Final Project

CS-31 | Tufts University | Fall 2026 · Tu · Th 12:00 PM – 1:15 PM


Project Goal

Throughout this class, I've been giving you workflows that get you familiar with tools as well as give you an example of how it's used in practice to allow you to explore different scenarios. For your final project you'll be making a workflow of your own. The outcome of the project isn't a specific result of a workflow, it's the workflow itself. You are building a tool to solve a type of problem and make someone's day easier. The goal is to get hands-on experience with the types of scripts that scientists, engineers, and analysts use in their day to day work and how to design them well. This is your opportunity to research how AI may (or already) show up in an area you are interested in.

The project has three hard constraints:

  1. The workflow must be in a JupyterNotebook and use at least one of the methods or algorithms that we discussed (or will discuss) in class.
  2. The workflow must be situated within a genuine task that needs doing that doesn't have any existing "out of the box" solutions.
    1. AKA: This is something that someone would really use in their day-to-day life or work and currently no easy tool exists to do so.
  3. The workflow is designed such that it can be followed and executed with minimal external intervention.
    1. AKA: Your workflow should follow good coding and documentation practices that you've see in class. Someone who is familiar with Python (like you) and knowledgeable about the domain should be able to run the workflow and make changes to fit their specific needs with minor clarification to understand what it's doing.
Not What I'm Looking For What I'm Looking For
We built a notebook that uses constraint satisfaction to find the optimal schedule for student workers triaging support tickets. We built a scheduler that allows student workers to augment support tickets with existing on-the-ground knowledge and automatically reprioritizes the schedule.
We used reinforcement learning to generate new drum sequences on a drum machine. We built a tool that offers variations on a drum sequence a producer inputs, and tweaks the variations based on what variations they accept and what they reject.
We ran an agent-based simulation of passenger flow on a large hotel's elevator system to find the optimal dispatch rules. We built a workflow where a building manager can change various elevator dispatch rules and see how the waiting experience changes for certain individuals.

Notice how what I'm NOT looking for centers a method and a result, while what I'm looking for centers a user and the broader context of the result.

Deliverable Schedule

Deliverable Description Due
Scaffolding Topic Exploration / Groups Formed A one page document that details a few potential projects that you would be interested in exploring. 10/15
Project Proposal A more formal project proposal that lays out the specific goal of the proposal, a survey of prior technologies and the gap within them, and your planned approach. 10/29
Preliminary Workflow and Document A working workflow that contains the minimum viable amount of code needed to solve your problem. A corresponding document that details the stakeholders and design process of the workflow. 11/19
Peer Review A peer review of another group's preliminary workflow and document, giving feedback for them to incorporate into their final deliverables. 12/1
Final Submission Project Presentations A presentation to other students that gives context on the problem that's being solved and your design process, a reflection of what you learned, and a demo of your workflow. 12/8 and 12/10
Final Report A full report that gives context on the problem that's being solved, what makes yours unique, your stakeholders and design, and a retrospective of what you learned. 12/15
Final Workflow An extensible workflow that runs end to end on someone else's machine and completes stated project goals. 12/15
Presentation Feedback You'll be giving feedback on other students' presentations.

Logistics and Grading

Groups: You are allowed to work individually or in a group of two students. Especially ambitious projects are allowed to have groups of three, but you will need to reach out to me separately to discuss why you feel that your project necessitates a triad and how you will manage logistics for a large project.

External Resource and AI Usage:

TL;DR - Please do not submit something you do not understand. If it becomes evident that your project seems to be beyond your understanding (e.g. we start asking questions that we believe you should know and you can't answer, your code and your report don't line up, etc), that will be reflected in your evaluation. If the misunderstanding is severe, and we feel that you used someone else's code without documenting it or used AI without disclosing it, we will treat that as unauthorized collaboration and refer the case to the appropriate disciplinary authorities at Tufts.

Notes

There are a few hard constraints to this project.