Computational thinking, problem-solving and programming: Difference between revisions
Mr. MacKenty (talk | contribs) |
Mr. MacKenty (talk | contribs) |
||
Line 62: | Line 62: | ||
* [[Low level languages]] | * [[Low level languages]] | ||
* [[Translating high-level code to low-level code]] | * [[Translating high-level code to low-level code]] | ||
* [[Control flow]] | |||
=== Universal ideas in programming === | === Universal ideas in programming === |
Revision as of 07:37, 28 July 2016
This is one of the most important ideas you can take with you:
Decompose a problem into smaller parts, model a problem with flowcharts. Learn to think sequentially
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 decomposition, data representation, generalization, modeling, and algorithms found in Computational Thinking. Computational Thinking requires the decomposition 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[edit]
Thinking procedurally[edit]
Thinking logically[edit]
Thinking ahead[edit]
Thinking concurrently[edit]
Thinking abstractly[edit]
Programming design[edit]
Introduction to programming[edit]
- Fundamental operations
- Compound operations
- What is a programming language?
- High level languages
- Compiler
- Low level languages
- Translating high-level code to low-level code
- Control flow
Universal ideas in programming[edit]
- Variables (See also: data types and primitive data types)
- Constants (See also: data types and primitive data types)
- Objects (See also: data types and primitive data types)
- Operators
- Algorithms
- Collections
- Functions
- Loops
Tool Chain[edit]
- What is a tool chain?