★ View the final projects from the course here.


The final course project is an opportunity for students to apply what they have learned in class to create interactive systems. All projects should have two components: perception, and decision making; although it is OK if most of the contributions of the work are on a single component.

Potential projects would generally fall into two categories:

  • Applications: An interactive system is built for a particular domain of interest (e.g., entertainment, health care, education, etc.). System integration is one of the main contributions for this type of work.

  • Algorithms: A new algorithm (or model), or a variant of an existing algorithm, is built to tackle a specific perception or decision making task. While system integration is relevant, the main contribution is an algorithm or model.

The main restrictions for projects are that:

  1. They are contextualized in some interactive application involving an agent that has to react to a dynamic environment. While projects may use simulations extensively for the bulk of the work, they should all demonstrate applicability (e.g., through a simple demo) to a real system.

  2. It is allowed for students to work with particular hardware that they own or have access to through research labs. Student groups who do not have access to a robot or interactive device for their project, can use the Shutter platform for their final project. Shutter is equipped with a ZED stereo camera, a Jetson TX2 Development Kit, and a PlayStation 3 gamepad.

Students are encouraged to work on research problems for their final projects. Projects that aim to replicate results from existing papers are allowed as long as they have a clear evaluation plan, and a controlled experiments are conducted to systematically evaluate the results.


The projects will have four deliverables:

  1. Project Proposal: (due 11/02/18) The first deliverable is a project proposal (no longer than 2 pages) that describes:

    • the main goals for the project, i.e., what problem will the project focus on or help solve?;
    • the motivation for the project, i.e., why is the problem interesting or relevant?;
    • the approach to solve the problem of interest;
    • how will results be evaluated;
    • a working plan to accomplish the set goals, including what is expected to be accomplished by the milestone deadline and by the final project deadline; and
    • a plan for distributing the work among the students involved in the project, i.e., who will work on what?.

    If the project will use of machine learning, then the project proposal must specify what dataset will be used to train and evaluate models. Due to the limited time to complete the project, we discourage big data collection efforts and, rather, suggest students use pre-existing datasets as much as possible.

  2. Project Milestone: (due 11/18/18) The second deliverable is a report with intermediary results. The report should be between 2-3 pages and should be formatted according to the 2017 ACM Master Article Template. Note that the ACM LaTeX templage is available through Overleaf here.

    The milestone report should include:

    • Title and a list of authors;
    • Introduction: explanation of the problem of interest, and overall plan for approaching the problem;
    • Related Work: lis of prior work that helps contextualize the effort;
    • Technical Approach: description of the system or methods that you intend to apply to solve the problem of interest;
    • Intermediate/Preliminary Results: a statesment and evaluation of the results up to the milestone deadline.

  3. Project Presentation: (due 12/03/18 and 12/05/18) 10 to 15 min project presentation highlighting the main goals of the project, approach, and results. Brief, interactive demos are encouraged for parts or the whole system that is developed.

  4. Final Report and Supplementary Material: (due 12/10/18) Final project write-up and supplementary material (source code, videos, interactive visualizations, etc.). The report should be between 6-8 pages and be formatted according to the 2017 ACM Master Article Template. The report should be structured like a paper from a conference (e.g., CHI, HRI, CVPR, etc.).

    Suggested structure for the final report:

    • Title and a list of authors;
    • Abstract: brief description of the problem, approach, and key results. Should be no more than 300 words.
    • Introduction: explanation of the problem of interest, and overall plan for approaching the problem;
    • Related Work: lis of prior work that helps contextualize the effort;
    • Method: description of the approach for solving the problem of interest;
    • Experiments: description of the experiments that were performed to test the proposed system or evaluate its components;
    • Conclussion and Future Work: summary of key results and a discussion of potential future work.

    A document describing any relevant supplementary material should be submitted as a separate file (there is no page limit for this document) and may be accompanied by a zip file including relevant materials that are not availale online. Supplementary material should include the project source code and any trained models (e.g., checkpoints for neural networks) if you used machine learning for your project. The supplementary material may also include other relevant files to help understand the progress that you made towards your goals. The latter may be videos documenting how your system works or how people interacted with it, a link to a website documenting results from experiments, interactive visualizations of the perception part of your system, etc.

There are no late days for any of the final project deliverables.

Collaboration Policy

Students can work in teams of 2 or 3 people. Groups with 3 people are expected to have more impressive reports and results than projects done with 2 people.

Honor Code

Students may consult publications and online material for ideas and code that they may want to incorporate in their project, as long as they clearly cite sources in their code and reports, as well as explain the contributions of their work. The exception is looking or incorporating another group’s code into their project.

If students are combining the course project with the project from another class, the project proposal, milestones and final report should clearly explain what portion of the project should be counted for CPSC-659. Separate reports should be prepared for each course.