The Design of the Problem Space is a tool for educators and researchers to better understand learners’ experiences in different contexts, and how those experiences change over time as the learner progress through a problem-solving process. This is one snapshot of two learners (🖤1, 🖤2) working together to solve a problem.

  1. To understand the problem space, it is necessary to account for learner’s prior interactions and experience.
  2. The larger, overall problem is subdivided into smaller tasks which the learner must complete to solve the problem. Each task is modelled here as a solid circle.
    • Planning Phase: Tasks begin in the planning phase which involves the identification of tasks that need to be solved and the development of ideas or strategies to solve the tasks. This can involve exploring the console, recalling examples or information learned earlier, relying on a diagram to map out mental processes, and then putting all of these ideas together into a plan for the building phase.
    • Building Phase: Tasks then move onto the building phase where learners must implement their ideas, usually by implementing the code for their plan. This can involve several smaller steps, drawing upon past coding examples to assemble a valid series of computer instructions. The goal of this phase is to compose a runnable program, though it may not meet the specifications determined during the planning phase. What’s left after building is the monitoring phase.
    • Monitoring Phase: Tasks finally end up in the monitoring phase where the learner ensures that the task meets the specifications laid out in the plan by debugging, testing, and evaluating the correctness of the program. At this point, they may also realize that there was some earlier fault in their plan which could also necessitate rewriting a large portion of the program.
  3. The learner navigates the problem space, context-switching between tasks. The learner draws upon their Sources of Knowledge (perception, reason, testimony, introspection, memory) to develop ideas.
  4. Each interaction between a learner and a task is a mediated process: the learner must plan out and execute an action, and then respond to feedback from the system. In this example, the interaction is mediated by the debugger which gives feedback from the computer to the learner, but is liable to misinterpretation.
  5. Not all interactions go smoothly. Each execution of an action requires crossing a gulf of execution, the gap between the user’s goal and their means or ability to execute that goal. A failure of communication occurs between the two learners.
  6. Likewise, there is a gulf of evaluation between the feedback from the diagram (mediated process) and the learner’s ability to interpret the feedback.
  7. Finally, each interaction shapes the subsequent history of the problem space.

Special thanks to David DeLiema for his mentorship on this model (see his main research focus, Debugging Failure) and Jennifer Wang for initial comments.

Kevin Lin

I teach Computer Science at Berkeley.