CMSC B399 Senior Conference - Spring 2024
Milestone #1: Project Outline
Due: Friday, Fenbruary 2, 2024 by, 2pm EST


Overview and Objectives
Your first deliverable is a two-page proposal that briefly highlights the important parts of (1) what you plan to do in your project and, (2) how you will go about doing it. It should build upon the Proposal you submitted in the Fall and address the following:

The goals of this assignment are to:

Structure

Your submission should be a PDF document of around two pages (1-inch margins all around, single-spaced, 12-point font) consisting of the following sections:

  1. Project Title
  2. Student & Advisor Information
  3. Summary
    Describe your project in one sentence. This is actually harder than it sounds, but is an important skill for learning how to talk about your work. Think of this as a “what?/who?/how?/why?” sentence, i.e:

    - What is it? An app, a system, a device, an algorithm…?
    - Who is it for? Everyone, a certain demographic, CS researchers…?
    - How will it solve the problem you’re trying to solve?
    - Why is it important that the problem be solved? Why bother solving it?

    Here are some examples:

    - “AccessiBill is a mobile app for elderly people that lets them keep track of when their utility bills are due so they do not forget to pay them.”

    - “We will implement a website for small-to-medium businesses that simplifies the process of submitting expense reports so that employees will submit them in a more timely manner and businesses can get a better sense of how much they are spending on travel expenses.”

    - "Examine the structure, nature, and properties of a subset of Regulasr Languages and prove a complexity theorem about the language."

  4. Problem Statement
    Anything we design or build in computing should attempt to solve some problem; otherwise, why are we doing it? In this section, briefly introduce the problem area or domain that your project will address. You should consider:

    - Why is solving this problem important?
    - Why is solving this problem difficult?
    - Who will benefit from this problem being solved?

  5. Proposed Solution
    In this section, talk about how you are going to try to solve the problem you just identified. That is, whereas the previous section asks, “why are you doing this?”, this section asks, “what are
    you going to do?” This doesn’t need to be super-detailed at this point, but you should have an idea of the major parts of your solution and their functionality. The main idea is to show that you’ve thought this through and know what you’d like to do. In addition to describing your solution, you should mention:

    - What is your intuition for why this will be a good solution? Show that it is clearly relevant and appropriate for solving the problem you identified.
    - How will it address the things you identified as difficult in your problem statement?
    - How sure are you that your solution is technically feasible? What makes you think so?

  6. Evaluation Plan
    Although we often think of a computing project as just “building something,” an equally important part is evaluating what you’ve built: not just showing that it “works,” but that it actually solves the
    problem you set out to solve. In this section, indicate how you plan to assess or evaluate your solution, e.g. through user testing, surveys, a controlled experiment, etc. As with other sections, you don’t need a lot of detail here, just a rough idea of what you may want to do.

  7. Potential Challenges
    No matter how well you plan things out, your team will encounter challenges along the way. In this part of the proposal, we’d like you to start thinking about the different obstacles you may run
    into, so that you can start considering resolutions as early as possible. One of the most important things to consider is: what do you need to learn in order to complete this project? What skills or knowledge do you need to acquire, and how might you go about doing so?

    You should also consider: the applicability of your proposed solution to the problem you’ve identified; technical challenges; gaps in the team’s (or your advisor’s!) knowledge; access to
    resources; availability of personnel; etc.