Skip to content

Instantly share code, notes, and snippets.

@thatPamIAm
Last active March 13, 2018 02:47
Show Gist options
  • Save thatPamIAm/671ce365ddbb554b32a162a3ccefffb0 to your computer and use it in GitHub Desktop.
Save thatPamIAm/671ce365ddbb554b32a162a3ccefffb0 to your computer and use it in GitHub Desktop.
Problem Solving Strategies

Problem Solving Strategies

Session Description:

A small group exercise in problem-solving. And classroom design.

Session Outcomes:

Students should be able to do the following:

  • Identify and implement different strategies for solving problems
  • Identify common roadblocks to effective problem-solving
  • Successfully rearrange the classroom to meet the presented spec

Session Outline:

Intro (10 mins)

  • Building software, at its core, is about solving problems. Getting better at problem solving takes practice as well as being familiar with different strategies to solve the problems you encounter…

Students should be split into small groups of 4-5. Within those groups, roles should be assigned as follows:

  • Facilitator - keeps the group on track and makes sure that all can participate and no one dominates
  • Timekeeper - makes sure group completes design in alloted amount of time
  • Recorder - draws out design proposal on chart paper
  • Presenter/s - presents design proposal to the larger group

Groups should design the room in a manner that allows for the following:

  1. Group collaboration (a group being at least 4 people)
  2. The ability to seamlessly break into smaller groups of two to three people
  3. Ease of moving around the classroom
  4. Class discussion

The deadline for this project is seven minutes.

Defend your design (10 mins)

Students will come back together and each group will have an opportunity to present and defend their design decisions.

Problem-solving Discussion & Reflection (15 mins)

When you are presented with a problem… whether it is a complex mathematical problem or a broken printer, how do you solve it? Generally speaking, the first step in finding a solution to a problem is to be be sure that you have clearly identified the problem itself. To do this, we can utilize the UPS strategy:

  • Understand: Read the problem. Restate the problem by writing it down in your own words. What do you know? What do you not know?
  • Plan: What problem strategy will you try? You might also draw a picture/representation of how you plan to approach the problem
  • Solve: Use your plan to implement your solution

Possible Problem Solving Strategies

Method Description Example
Trial and Error Continue trying different solutions until problem is solved Restarting phone, turning off WiFi, turning off bluetooth in order to determine why your phone is malfunctioning
Algorithm Step-by-step problem solving formula Instruction manual for installing new software on your computer
Heuristic General problem-solving framework Working backwards, breaking a task into steps

Some possible pitfalls to problem solving

  • Mental set - Persist in approaching a problem in a way that has worked in the past but is clearly not working now
  • Anchoring bias - Tendency to focus on one particular piece of information when making decisions or problem-solving
  • Availability bias - Decision is based upon either an available precedent or an example that may be faulty

Students should now be given an opportunity to reflect on the following:

  • What went well during your design planning?
  • What didn't go well?
  • What would you change if you were going to do this again?

Implement your design (10 mins)

Students should vote on an arrangement for the classroom and implement said arrangement.

Closing (5 mins)

In their own journal, students should also be given time to reflect/answer the following question: What kind of pitfalls/biases do you recognize in your own decision-making process? How can you use your awareness of this to improve your problem-solving skills during your time as a developer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment