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 processKnowing the names and sequence of the four steps.
Applying the four-step processShowing 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 problemsHaving 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 contextsBeing 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 toolsKnowing where to find guidance on the use of a new tool. Being able to follow instructions or an algorithm.
Interpreting others' workReading 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 problemWhen presented with a fuzzy situation, students can identify whether computational thinking effectively applies or not.
Assessing the plausibility of computational thinking being usefulWhen 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 computationIdentifying 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 problemEstimating 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 madeFor 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 chosenFor 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 limitationsDivision by zero. Implications of sign changes. Accuracy limitations, etc.
Listing possible sources of error from concepts' limitationsFor 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 errorsSpotting 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 resultsAppeal 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 sourcesDetermine 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 abandonAll 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 abstractionIdentify similar structures, dimensions, flow or patterns between two problems or contexts.
Taking constants from initial model and making them variable parametersBroadening 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 problemUsing 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 programProviding 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 visuallyConstructing 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 verballyBriefly 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 descriptionSimilar 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 audienceAt 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 purposeCombining multiple forms of media as necessary to convey the ideas and solutions.
Structuring and producing a presentation or reportOrganising 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 problemUnderstand how to iterate a problem in a group and give opinions when appropriate.
Deciding which facts support or hinder an argumentBeing 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 youBeing 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-examiningBeing 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 informationIdentifying dependencies related to the problem.
Identifying missing information to be found or calculatedIdentifying dependencies related to the problem about which there is no information.
Stating precise questions to tackleEfficiently 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 madeClearly 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 abstractionReduce the amount of information, create linkages, state the reason for it.
Creating diagrams to structure knowledgeOrganising 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 relationshipListing concepts and filtering down to those which may apply. Making connections amongst the concepts.
Understanding the relative merits of the concepts availableComparing the choice of concepts for this abstraction.
Being able to present alternative abstractionsDiagrams, symbolic representations (programs, expressions), structure information (tables, lists, matrices).
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 conceptDescribing the structure of the concept and giving examples of its application, purpose and limitations.
Recognising whether the concept appliesFor the chosen concept in the context of the problem.
Knowing which tools are relevant to the conceptFor 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 conceptFor the chosen concept in the context of the problem compared to other possible concepts that may be of use in this context.
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 behaviourKnowing 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 toolOrganising 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 applicationKnowing how to run or evaluate the tool to produce a result.
Being aware of comparable toolsRelated 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 contextRelated 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.
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 technologyChoosing 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 requiredConstructing 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 problemsKnowing 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 problemsKnowing 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 computationDeciding 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.
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