Confidence to tackle new problems
Students show confidence to attempt solutions to new problems by application of the four-step process. They use the problem-solving process as a mechanism to overcome hard-to-handle or unknown scenarios and can adapt previously learned methods, concepts and tools to new contexts. They are able to overcome sticking points in the process and teach themselves new tools as the need arises.
Recalling the four-step process
Knowing the names and sequence of the four steps.Applying the four-step process
Showing knowledge of the purpose of each step and being able to manage the process through to a solution or conclusion.Managing the process of breaking large problems into small problems
Having the confidence to manage a problem larger than the student thinks they can do or has experience of solving. Being able to recombine all of the smaller problems to form a solution to the large problem.Applying existing tools in new contexts
Being able to use a tool you have learnt in a context different from where it has been learnt. Having the confidence to adapt the tool to a new purpose.Knowing how to teach yourself new tools
Knowing where to find guidance on the use of a new tool. Being able to follow instructions or an algorithm.Interpreting others' work
Reading reports from other sources. Understanding problem solutions that others have proposed. Having confidence to question source.Instinctive feel for computational thinking
Students are able to use their experience to know when something just “smells” wrong. They are aware of common errors made and have a working mental knowledge of the use of concepts and tools.
Identify the usefulness of computational thinking for a given real-world problem
When presented with a fuzzy situation, students can identify whether computational thinking effectively applies or not.Assessing the plausibility of computational thinking being useful
When presented with a fuzzy situation, students can propose ideas of areas of computation that might apply or be clear that computation cannot effectively help.Identifying fallacies and misuse of computation
Identifying flaws in logic or improper application of concepts.Having a feel for how reliable a model will be
- Having a gut feel for the model and whether it takes into account all the effects that are fundamental to a useful prediction.
- Understanding that a given problem's time frame, the number of variables involved and the breadth of concepts applicable all affect the complexity and difficulty in building an accurate model.
- Appreciating how uncertainties propagate.
Estimating a solution of the defined problem
Estimating solutions before beginning the problem-solving process. Anticipating the structure of the solution to expect. Structures include: number of dimensions, periodicity, distribution, topology, piecewise nature, constant/variable, domain and time sensitivity.Critiquing and verifying
Critiquing is a consideration of what could possibly be wrong with your process or solution. Asking the questions: Where? When? Why? What? Who? It is a constant process of scepticism towards results, from unexpected results to expected results. Verifying is comparing against a hypothesis to confirm an answer and being able to justify the result.
Quantifying the validity and impact of the assumptions made
For the assumptions stated in DQ, comparing the relative probability of each being invalid and the impact that this would have on the method or solution.Quantifying the validity and impact of tools and concepts chosen
For the tools and concepts chosen, comparing the relative probability of each being invalid and the impact that this would have on the method or solution.Listing possible sources of error from computation failures or limitations
Division by zero. Implications of sign changes. Accuracy limitations, etc.Listing possible sources of error from concepts' limitations
For the concepts used, list the circumstances in which they would not apply or the extent to which they begin to fail at extremes.Identifying systematic and random errors
Spotting that the actual methods used for a solution are wrong. Identifying reasons for an unexpected output dependent upon certain conditions.Being able to corroborate your results
Appeal to different methods. Verify that the final model produces the same output as the combined individual components. Test on an independent dataset.Qualifying reliability of sources
Determine the source of data collection, the source of a model to use, the research behind a particular method. Understand the criteria for assessing whether a source is reliable.Deciding if the results are sufficient to move to the next step, including whether to abandon
All through the problem-solving cycle, deciding whether the current progress is sufficient to move forwards, repeat the cycle or abandon the process.Generalising a model/theory/approach
Once a model has been built for a specific purpose, looking further afield for instances where the model may apply or providing sufficient documentation for others to adapt the model for their purpose.
Identify similarities and differences between different situations for the purposes of abstraction
Identify similar structures, dimensions, flow or patterns between two problems or contexts.Taking constants from initial model and making them variable parameters
Broadening the application of the model/solution by releasing constraints or varying assumptions made.Being able to draw wider conclusions about the behaviours of a type of problem
Using experience of a concept or tool to extrapolate or extend its use. Testing what happens at extremes or at key points for the dependent variables.Implementing a generalised model as a robust program
Providing details and limits of the assumptions made and the variables involved. Providing documentation for reference and thorough testing of the model.Communicating and collaborating
Communicating and collaborating is a continual process that happens throughout all stages. Students use media fit for the purpose and combine multiple representations effectively for the intended audience to be able to follow the ideas presented.
Distilling or explaining ideas visually
Constructing or using visual explanations of ideas during the problem-solving cycle. Small scale, informal sketches or diagrams that allow progress to be made. These may be in the form of the structure of the problem, connections or relationships between variables, trends (the shape of data), positional references, dimensionality, showing how the problem changes from one state to the next.Distilling or explaining ideas verbally
Briefly explaining reasons, describing an approach to a solution or interpreting an output they are given. The ability to form a verbal description of the point they are trying to make.Distilling or explaining ideas through written description
Similar to CCp but communicating through written text. Small, individual pieces, a few lines to explain an idea.Using vocabulary, symbols, diagrams, code accurately and appropriately for your audience
At the correct level for technical understanding, to communicate an idea, to advance understanding, to communicate your findings.Choosing the best form of communication for a given purpose
Combining multiple forms of media as necessary to convey the ideas and solutions.Structuring and producing a presentation or report
Organising a clear account of the problem, how it was solved and its solution. Written at a level suitable for the audience intended.Being able to work effectively in a group to solve a problem
Understand how to iterate a problem in a group and give opinions when appropriate.Deciding which facts support or hinder an argument
Being able to identify those facts that support your case and those that do not. Defending opinions and inferences made in real time; debating.Understanding and critiquing ideas presented to you
Being able to identify flaws or gaps in an explanation. Being able to ask effective questions to improve your understanding.Using techniques for questioning, interrogation, cross-examining
Being able to draw out the information that you want.Defining the question
Students begin the problem-solving process by organising the information needed to solve the problem and identifying suitable smaller tasks that can be solved. They understand assumptions and use them effectively to aid progress on the solution.
DEFINE QUESTIONS: STEP 1 OF THE COMPUTATIONAL THINKING PROCESS
Filtering the relevant information from available information
Identifying dependencies related to the problem.Identifying missing information to be found or calculated
Identifying dependencies related to the problem about which there is no information.Stating precise questions to tackle
Efficiently presenting the problem to be solved, with an accurate definition of the scope and nature of the problem and variables involved.Identifying, stating and explaining assumptions being made
Clearly states assumptions that have been made and the reasons why. Assumptions are made to avoid complexity in the problem setup or to avoid irrelevant solutions. Care should be taken that assumptions are not made to avoid computational complexity as is often done without a computer. Consideration of the likelihood of an assumption is sometimes necessary as the list of all possible assumptions could be very long.Abstracting to computable form
Students begin the abstraction phase by taking their precise questions and working out strategies or concepts to explore. They organise their information and identify the relevant concepts and their suitability for the purpose.
ABSTRACT TO COMPUTABLE FORM: STEP 2 OF THE COMPUTATIONAL THINKING PROCESS
Identifying the purpose of the abstraction
Reduce the amount of information, create linkages, state the reason for it.Creating diagrams to structure knowledge
Organising the information related to a given problem to make applicable concepts easier to identify. Making connections between concepts or data, organising the flow or dependencies of variables involved in the problem. Links to CCv.Identifying relevant concepts and their relationship
Listing concepts and filtering down to those which may apply. Making connections amongst the concepts.Understanding the relative merits of the concepts available
Comparing the choice of concepts for this abstraction.Being able to present alternative abstractions
Diagrams, symbolic representations (programs, expressions), structure information (tables, lists, matrices).Concepts
Concepts are what you want to get done (hang a picture, solve an equation, describe an event's probability…). Tools are what you want to use to do it (glue, nail, screw, graph, formula, normal distribution…). Most concepts begin life with one tool; you invent the concept for a given problem and a tool to fix that. Though retrospectively, people might collect a number of tools and create an umbrella concept to cover them.
ABSTRACT TO COMPUTABLE FORM: STEP 2 OF THE COMPUTATIONAL THINKING PROCESS
Being able to describe the concept
Describing the structure of the concept and giving examples of its application, purpose and limitations.Recognising whether the concept applies
For the chosen concept in the context of the problem.Knowing which tools are relevant to the concept
For the chosen concept in the context of the problem, including where there are no tools available for particular cases: the solution of a quintic equation, for example.Having intuition for the relative merits of the concept
For the chosen concept in the context of the problem compared to other possible concepts that may be of use in this context.Tools
Tools take the form of functions, methods or processes that enable a conversion from the abstracted form of the defined question into a form that is useful in answering the question. The tool may not necessarily be computer based. The most efficient manifestation of the tool for the purpose should be chosen.
ABSTRACT TO COMPUTABLE FORM: STEP 2 OF THE COMPUTATIONAL THINKING PROCESS
Having intuition about the tool's behaviour
Knowing how the tool behaves in a wide variety of contexts. Understanding its strengths, weaknesses and competitive advantage under certain circumstances.Composing appropriate and accurate input for the tool
Organising data into the correct format, changing units, limiting domains, setting accuracies, ordering, filtering, setting the options required.Applying the tool or demonstrating experience of its application
Knowing how to run or evaluate the tool to produce a result.Being aware of comparable tools
Related tools to this tool only. Tools that achieve similar aims without being a direct replacement.Understanding the relative merits of different tools for use in the context
Related tools to this tool only. There is a possible feedback loop: if your tools are not good enough for the job, you may need to jump concept.Managing computations
The computation phase begins with students choosing the manifestation of the tool(s) to produce a result. This may be a trivial step for one tool with a simple input but could also be organisationally complex for combinations of a number of tools. Once the computation reaches a certain size, the process of performing the computation becomes a significant consideration.
COMPUTE ANSWERS: STEP 3 OF THE COMPUTATIONAL THINKING PROCESS
Choosing an appropriate technology
Choosing between various forms of technology (hardware/software), physical machine or brain power.Being able to interpret documentation
- Accessing documentation and using it to inform the use of the tool in the context that is required.
- For code, documentation is the formal information supplied for the use of a defined function. For other types of tools, this also includes video descriptions, informal notes, help systems or websites.
Assessing the feasibility of getting a useful answer
- A preflight checklist before take-off. A "yes, ok" or "no go" check on the computation.
- Questioning if the errors involved are going to overwhelm the result and a useful solution will not be achieved.
- Questioning whether it is feasible to find the solution within a reasonable time.
Having intuition about whether the output is appropriate for the context
- Not interpreting, just an instinctive feel if the output is off.
- Checking variable types, dimensions and magnitudes instinctively.
Combining tools to produce results required
Constructing a computation using a combination of tools or processes to produce a solution. Linking tools together, ensuring that an output of one tool is suitable as the input of another.Isolating the cause(s) of operational problems
Knowing systematic methods for identifying the issue. Knowing how to remove parts of the process to isolate suspect parts. Checking units, checking logic, checking structure, checking size, etc.Resolving operational problems
Knowing what to do if the computer takes too long to calculate or cannot handle the size or accuracy needed for the computation.Optimising both speed of obtaining results and reusability of computation
Deciding between a back-of-the-envelope quick calculation versus full reporting and delivering communicable methods. Weighing up the usefulness of spending time on documentation versus time on progression to a solution.Interpreting
Students take the output of the computation stage and translate this back to the original real-world problem by relating the output to their precise question. They consider further areas of investigation as a result.
INTERPRET RESULTS: STEP 4 OF THE COMPUTATIONAL THINKING PROCESS