2. With Respect to Our Main Topic
Computational thinking is the thought processes involved in formulating a problem and
expressing its solution(s) in such a way that a computer—human or machine—can effectively
carry out.
• Computational Thinking is an iterative process based on three stages (captured by the figure to
the right):
1. Problem formulation (abstraction);
2. Solution expression (automation);
3. Solution execution and evaluation (analyses).
• The history of computational thinking dates back at least to the 1950s but most ideas are
much older. 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
https://en.wikipedia.org/wiki/Computational_thinking
3. With Respect to Our Main Topic
Currently Computational Thinking is broadly defined as a set of cognitive skills and problem solving
processes that include (but are not limited to) the following characteristics:
•Using abstractions and pattern recognition to represent the problem in new and different ways
•Logically organizing and analyzing data
•Breaking the problem down into smaller parts
•Approaching the problem using programmatic thinking techniques such as iteration, symbolic representation, and logical operations
•Reformulating the problem into a series of ordered steps (algorithmic thinking)
•Identifying, analyzing, and implementing possible solutions with the goal of achieving the most efficient and effective combination of
steps and resources
•Generalizing this problem-solving process to a wide variety of problems
5. Why it is Important
Computational Computing is the automaton of the process of Computational Thinking(CT).
Through the process of automation and algorithmic implementation of the established
fundamentals of CT, a problem can be identified, determined, and then solved. As with all
computer functions, accuracy is directly proportional to the data’s integrity.
The problem solving capabilities enabled by CT are essential in the development of
software for analytical computational requirements. The disciplines of CT give Computer
Scientist “rules to live/code by", which in turn provides the “center of gravity” that
enables accurate problem solving methodologies. CT is a discipline and philosophy!
6. Why it is Important
Computational Computing has it genesis in the guidelines of Computational Thinking. With these
doctrines, software developer/scientist are able to logically approach problems and then utilize their
computer science skill sets and define software that can identify, analyze, determine, and then
decide a desire course of action/resolution. Software provides a means to instruction physical
devices to perform specific functions. Being able to determine the correct function to instruct comes
from the ability to fully understand requirements for every action and to logically deduce feasible
step-by step sequences which lead to predicted outcomes.
Automating the approaches to problems via programmatic thinking techniques such as iteration, symbolic representation,
and logical operations provides a software engineer/scientist a means of determining logical resolutions desired
outcomes. Needing to understanding what steps are required to sense a temperature change and the resulting executed
function to respond to said temperature changes is the product of efforts in the realm of Computational Thinking.
Executed via Computational Computing.
7. Why it is Important
Computational thinking expands on the power and limits of computing processes, regardless of how they are
executed. Computational methods and models give us the enlightenment to solve problems and design systems that
individually we wouldn’t be capable of tackling alone. Computational thinking confronts the riddle of machine
intelligence: What can humans do better than computers? and What can computers do better than humans? At the
fundamentals it addresses the question: What is computable? Today, we know only parts of the answers to such
questions.
Computational thinking is a fundamental skill for everyone, no longer specific to computer scientists. To reading,
writing, and arithmetic, we should add computational thinking to every child’s analytical ability. As once, the printing
press facilitated the spread of the three Rs, what is appropriately innate about this vision is that computing and
computers facilitate the spread of computational thinking.
8. Why it is Important
.
In solving problems, designing systems, and understanding behavior patterns Computational thinking is at the heart of
these efforts by drawing on the concepts fundamental to computer science. Computational thinking includes a range of
mental tools that reflect the breadth of the field of computer science.
Computational thinking is a recursive thought process. It is parallel processing. It is interpretive, code as data and data as
code. It is type checking as the generalization of dimensional analysis. It is recognizing both the virtues and the dangers of
aliasing, or giving someone or something more than one name. It is recognizing both the cost and power of indirect
addressing and procedure call. It is judging a program not just for correctness and efficiency but for aesthetics, and a system’s
design for simplicity and elegance.
9. Why it is Important
Computational thinking is using abstraction and decomposition when attacking a large complex task or designing a large
complex system. It is separation of concerns. It is choosing an appropriate representation for a problem or modeling the
relevant aspects of a problem to make it tractable. It is using invariants to describe a system’s behavior succinctly and
declaratively. It is having the confidence we can safely use, modify, and influence a large complex L system without
understanding its every detail. It is modularizing something in anticipation of multiple users or prefetching and caching in
anticipation of future use.
Computational thinking is thinking in terms of prevention, protection, and recovery from worst-case scenarios through
redundancy, damage containment, and error correction. It is calling gridlock deadlock and contracts interfaces. It is
learning to avoid race conditions when synchronizing meetings with one another.
It is from these essentials of understanding and criterium that we build computational machines (computers) to ensure a
fluidity to these problem solving processes and the extraction emotions to ensure programmable predictability