An approach to problem solving

Computational Thinking. That is something to do with Computer Science, yes? Therefore it is not for me. OR. You are thinking that "thinking, that's not me, I am a doer, I want to write code. I want to build bridges. I want to make animations." (delete as appropriate)

It does not matter whether your subject is Computer Science, ICT, Design and Technology, Food Technology, Science or any other subject for that matter, if you are faced with a problem, you have a basic cycle you need to go through. Different subjects may apply different keywords, but it can all be boiled down to:

Analysis

Can you identify what the problem is?

The Analysis stage is where the nature of the problem is identified. No solution is discussed at this stage, it is purely to identify what the problem is. 

Once the nature of the problem is identified, we can begin to think about a solution. The next step is to identify success criteria. We are defining success criteria as " I know my project will have been a success when my solution does / can / delivers .........". What this will look like will differ from campus to campus and from subject to subject. Further details, where relevant can be found below.  

Design

How do you propose to solve the problem?  Now we can look at potential solutions. 

The delivery mechanism for the design will change subject to subject, and from campus to campus again. It can include a wide range of software, skills, and techniques depending on the nature of the problem being solved. Resources can include sketches, orthographic drawings, 3D models, computer models, mind maps, mood boards, pseudocode, and many more.

Build

Okay, now solve the problem. Now we can look at potential solutions. 

The delivery mechanism for the design will change subject to subject, and from campus to campus again. It can include a wide range of software, skills, and techniques depending on the nature of the problem being solved. Resources can include sketches, orthographic drawings, 3D models, computer models, mind maps, mood boards, pseudocode, and many more.

Evaluation

Did my solution solve the problem? If yes, when will I revisit the problem, if no, then try again to alter your solution or in the worst cases, start again.

The important thing here is to remember that the evaluation is not the end of the line, rather it is a point where a decision is made. The evaluation is structured against the success criteria identified in the analysis stage and depending on the outcome then the next steps are decided.

Great, well done. You need to think about how long your solution will meet your success criteria. 

Now you need to revisit your success criteria, are the ones you stated essential to your solution? If yes, do you need to alter the designs? In other words, you need to revisit the analysis and the design stage to see if you can uimprove. 

Analysis - Design - Build - Evaluation

I want to add two more keywords:

Abstraction

Take away any unnecessary information from the problem. What is the actual problem you are being faced with? Does it matter that the background is purple or blue, is that important to make the product work right now?

Decomposition

Break your problem down into its component parts. No one set out to write the latest blockbuster game, it started as an idea and then it will have been broken down into its component parts. 

We are working on building these keywords into everyday life and learning here at BIS HCMC.