Computational thinking, problem-solving and programming

From Computer Science Wiki
Jump to: navigation, search

Exclamation.png This is one of the most important ideas you can remember:

DecomposeSeparate into simpler constituents. a problem into smaller parts, model a problem with flowcharts. Learn to think sequentially

Computational thinking, problem-solving and programming[1]


Wing (2006, 2011) defined computational thinking as the thought processes involved in formulating problems and their solutions so that the solutions are represented in a form that can be effectively carried out by a computer. [2]


Computational Thinking (CT) is a process that generalizes a solution to open-ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decompositionSeparate into simpler constituents., data representation, generalization, modeling, and algorithms found in Computational Thinking. Computational Thinking requires the decompositionSeparate into simpler constituents. of the entire decision making process, the variables involved, and all possible solutions, ensuring that the right decision is made based on the corresponding parameters and limitations of the problem. The term computational thinking was first used by Seymour Papert in 1980 and again in 1996. Computational thinking can be used to algorithmically solve complicated problems of scale, and is often used to realize large improvements in efficiency[3]

The big ideas in computational thinking

Thinking procedurally

Thinking logically

Thinking ahead

Thinking concurrently

Thinking abstractly

Connecting computational thinking and program designProduce a plan, simulation or model.

Introduction to programming

UseApply knowledge or rules to put theory into practice. of programming languages

Other important ideas in programming

Standards

Computational thinking, problem-solving and programming
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. the procedure appropriate to solving a problem. Computational Thinking
EvaluateAssess the implications and limitations; make judgments about the ideas, works, solutions or methods in relation to selected criteria. whether the order in which activities are undertaken will result in the required outcome. Computational Thinking
ExplainGive a detailed account including reasons or causes. the role of sub-procedures in solving a problem. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. when decision-making is required in a specified situation. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. the decisions required for the solution to a specified problem. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. the condition associated with a given decision in a specified problem. Computational Thinking
ExplainGive a detailed account including reasons or causes. the relationship between the decisions and conditions of a system. Computational Thinking
DeduceReach a conclusion from the information given. logical rules for real-world situations. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. the inputs and outputs required in a solution. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. pre-planning in a suggested problem and solution. Computational Thinking
ExplainGive a detailed account including reasons or causes. the need for pre-conditions when executing an algorithm. Computational Thinking
OutlineGive a brief account. the pre- and post-conditions to a specified problem. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. exceptionsanomalous or exceptional conditions requiring special processing – often changing the normal flow of program execution that need to be considered in a specified problem solution. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. the parts of a solution that could be implemented concurrently. Computational Thinking
DescribeGive a detailed account or picture of a situation, event, pattern or process. how concurrent processing can be used to solve a problem. Computational Thinking
EvaluateAssess the implications and limitations; make judgments about the ideas, works, solutions or methods in relation to selected criteria. the decision to use concurrent processing in solving a problem. Computational Thinking
IdentifyProvide an answer from a number of possibilities. Recognize and state briefly a distinguishing fact or feature. examples of abstraction. Computational Thinking
ExplainGive a detailed account including reasons or causes. why abstraction is required in the derivation of computational solutions for a specified situation. Computational Thinking
ConstructDevelop information in a diagrammatic or logical form. an abstraction from a specified situation. Computational Thinking
DistinguishMake clear the differences between two or more concepts or items. between a real-world entity and its abstraction. Computational Thinking
DescribeGive a detailed account or picture of a situation, event, pattern or process. the characteristics of standard algorithms on linear arrays. Computational Thinking
OutlineGive a brief account. the standard operations of collections. Computational Thinking
DiscussOffer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence. an algorithm to solve a specific problem. Computational Thinking
AnalyseBreak down in order to bring out the essential elements or structure. To identify parts and relationships, and to interpret information to reach conclusions. an algorithm presented as a flow chart. Computational Thinking
AnalyseBreak down in order to bring out the essential elements or structure. To identify parts and relationships, and to interpret information to reach conclusions. an algorithm presented as pseudocode. Computational Thinking
ConstructDevelop information in a diagrammatic or logical form. pseudocode to represent an algorithm. Computational Thinking
SuggestPropose a solution, hypothesis or other possible answer. suitable algorithms to solve a specific problem. Computational Thinking
DeduceReach a conclusion from the information given. the efficiency of an algorithm in the contextThe circumstances that form the setting for an event, statement, or idea, and in terms of which it can be fully understood and assessed. of its use. Computational Thinking
DetermineObtain the only possible answer. the numberA unit of abstract mathematical system subject to the laws of arithmetic. of times a step in an algorithm will be performed for given input data. Computational Thinking
StateGive a specific name, value or other brief answer without explanation or calculation.Give a specific name, value or other brief answer without explanation or calculation. the fundamental operations of a computer. Computational Thinking
DistinguishMake clear the differences between two or more concepts or items. between fundamental and compound operations of a computer. Computational Thinking
ExplainGive a detailed account including reasons or causes. the essential features of a computer language. Computational Thinking
ExplainGive a detailed account including reasons or causes. the need for higher level languages. Computational Thinking
OutlineGive a brief account. the need for a translation process from a higher level language to machine executable code. Computational Thinking
DefineGive the precise meaning of a word, phrase, concept or physical quantity. the terms: variable, constant, operator, object. Computational Thinking
DefineGive the precise meaning of a word, phrase, concept or physical quantity. common operators. Computational Thinking
AnalyseBreak down in order to bring out the essential elements or structure. To identify parts and relationships, and to interpret information to reach conclusions. the use of variables, constants and operators in algorithms. Computational Thinking
ConstructDevelop information in a diagrammatic or logical form. algorithms using loops, branching. Computational Thinking
DescribeGive a detailed account or picture of a situation, event, pattern or process. the characteristics and applications of a collection. Computational Thinking
ConstructDevelop information in a diagrammatic or logical form. algorithms using the access methods of a collection. Computational Thinking
DiscussOffer a considered and balanced review that includes a range of arguments, factors or hypotheses. Opinions or conclusions should be presented clearly and supported by appropriate evidence. the need for sub-programmes and collections within programmed solutions. Computational Thinking
ConstructDevelop information in a diagrammatic or logical form. algorithms using pre- defined sub-programmes, one- dimensional arrays and/or collections. Computational Thinking

References

  1. http://www.flaticon.com/
  2. http://pact.sri.com/downloads/Assessment-Design-Patterns-for-Computational%20Thinking-Practices-Secondary-Computer-Science.pdf
  3. https://en.wikipedia.org/wiki/Computational_thinking