CSC 395 (Fall 2021)

Project Milestone 1

Project Description and Deliverable #1

Now that we’re beginning to explore human-centered design, we can now discuss the details of the course project. In the course project, you will work in groups of 3—4 to apply the HCD process towards answering questions concerning usability in the space of programming, broadly construed. This includes programming languages, development tools, models of computation, and other human-factor concerns in the software development process.

Research Questions

Ultimately, your group work will consist of developing and exploring a research question of your design in this broad space of programming usability. As mentioned in class, we can ask two broad sorts of questions:

  1. Questions that explore how people conceive of computation.
  2. Questions that ask how we can intervene and make the process of programming better.

The two questions are not mutually exclusive—indeed, to create effective interventions, we need to first ask how people currently conceive of computation. Furthermore, these questions will not be set in stone initially; part of the project is having an initial idea of what people’s pain points are and then discovering through observation what is actually troubling them.

“Programming” is broad and all-encompassing. Virtually any interaction with a computational device can be construed as a programming activity in some form. So it is worthwhile to explore your interests, no matter how broad, and check with me to see if they are reasonable to consider.

Phases and Deliverables

There are six milestones for the course project aligned with the HCD process:

  1. Observation
  2. Ideation
  3. Prototyping
  4. Evaluation
  5. Round 2 evaluation and presentation (last week of classes)
  6. Final report

The first four deliverables—each two weeks in duration—walk you through the HCD process to refine your research question and propose an artifact to address that question. The fifth deliverable—roughly 4 weeks before the end of the semester—allows you to go through the HCD process one more time to develop and proposed a refined, final artifact.

Each phase has its own specific deliverables that are due at the times described above. Ultimately, you will produce:

  1. A clearly articulated research question backed by human-centered design principles.
  2. An artifact, e.g., theoretical model of computation or proposed tool, that addresses the question.
  3. A presentation summarizing your work and a demonstration session to be delivered during the final week of the semester.
  4. A short research paper describing your research question, its context, methodology, and results due by the end of finals week.

In addition, you will also produce personal reflections along with each milestone capturing your individual contributions and knowledge of what your group produced.

Milestone 1: Needfinding

To begin your project, you should identify:

Once you have done this, you can begin refining your research question and focus through the needfinding process As discussed in the reading, we perform needfinding through two activities: observations and interviews. For this deliverable, your group will perform both activities, identifying relevant people at the college or elsewhere to observe and interview to gain insight into your research question.


When observing subjects, we are attempting to identify:

Observation gives us concrete, yet indirect data points on a person’s goals and methods for achieving those goals. As a result, we need to approach the observations with an open mind. We should make no assumptions about the answers to these questions and diligently record what we see in the moment for later analysis.

In particular, in our observations, we should be keen to note two sorts of tells that are preventing users from accomplishing their goals:

  1. Hacks and workarounds that our subjects use to accomplish their task.
  2. Discrepancies between the subject’s actions and their intentions.

Both kinds of tells are indicative of real issues that can be subject of design.

As preparation for your observation, make sure to review the guidelines found on the Interaction Design website:

Here are the requirements for the observation portion of this deliverable:


In contrast to observations where we are noting how users behave in the wild, interviews afford us the opportunity to ask the users directly what they believe their problems are. However, we have to be mindful of the fact that users may not know the best way to accomplish their goals or that their goals are different than what they think!

In preparation for your interview, you should prepare a script with a relevant introductory and a set of questions. Follow the advice found in the second demonstration problem set on interviewing to design an effective set of questions. Make sure to review the guidelines found on the Interaction Design website for advice on designing your questions and how to conduct your interview:

Here are the requirements for the interview portion of this deliverable:

Synthesis and Write-up

Finally, you should summarize, analyze, and write up your findings in a 3–5 page report. In your analysis, you should generate 10 needs and prioritize 3 needs as the ones that you will consider during the first ideation phase of your project. In your report:

Individual Reflection

In addition to your group deliverable, please complete the brief individual reflection on Gradescope by Friday, October 1. In this reflection, you will assess your contributions as well as your partner’s contributions to the project. You will also reflect on the current trajectory of the project and how that has been shaped by the needfinding process. Note that your responses to this reflection will be kept confidential.