Computational Thinking with Spreadsheet
Computers are
incredibly fast, accurate, and stupid. Human beings are incredibly slow,
inaccurate, and brilliant. Together they are powerful beyond imagination.”
(Albert Einstein)
"It is not the
strongest of the species that survive, nor the most intelligent, but the one
most responsive to change. (Charles
Darwin.)
Computational
Thinking is the type of thinking a person does when making use of human
intelligence and computer intelligence to solve problems and accomplish tasks .
This term was coined by Jeannette M. Wing, President's Professor of Computer Science, Carnegie Mellon University, USA. With a funding from Microft, Professor Jeannette even
established a centre for ‘Computational
thinking’ in the University. Many people consider, Carnegie Mellon as the Mecca of computer science and
computational thinking.
At Carnegie Mellon, computational
thinking pervades every department. Professors in Computer science department interacts
with almost every other discipline on campus. Computational biology,
computational chemistry, computational design, computational finance,
computational linguistics, computational logic, computational mechanics,
computational neuroscience, computational physics, and computational and
statistical learning are just a few examples of such interdisciplinary fields
of study. Uundergraduate computer science curriculum and their outreach programs teach students how to think
like a computer scientist. Their message is that computer science is not just
about programming, but about thinking.
According to Jeannette Wing,
Computational thinking will be a fundamental skill used by
everyone in the world in 21st century: Therefore, in addition to traditional ‘Reading,
Writing, and Arithmetic’, current educational system must be prepared to add computational
thinking’ to every child's analytical ability.
So
what is Computational Thinking? Well, it
is a collection of diverse skills to do with problem solving that result from
studying the nature of computation. It includes some obviously important skills
that most subjects help develop, like creativity, ability to explain and team
work. It also consists of some very specific problem solving skills such as the
ability to think logically, algorithmically and recursively. Computational Science is unique in the way it brings all these
diverse skills together.
Computational thinking has the
following characteristics [ ]:
Conceptualizing, not programming. Computer science is
not computer programming. Thinking like
a computer scientist means more than being able to program a computer. It
requires thinking at multiple levels of abstraction;
A way that humans, not computers, think. Computational thinking
is a way humans solve problems; it is not trying to get humans to think like
computers. Computers are dull and boring; humans are clever and imaginative. We
humans make computers exciting. Equipped with computing devices, we use our
cleverness to tackle problems we would have dared to take on before the age of
computing and build systems with functionality limited only by our
imaginations;
Complements and combines mathematical and engineering
thinking.
Computer science inherently draws on
mathematical thinking, given that, like all sciences, its formal foundations
rest on mathematics. Computer science inherently draws on engineering thinking,
given that we build systems that interact with the real world. The constraints of
the underlying computing device force computer scientists to think
computationally, not just mathematically. Being free to build virtual worlds enables
us to engineer systems beyond the physical world;
Ideas, not artifacts. It’s not just the software and hardware
artifacts we produce that will be physically present everywhere and touch our
lives all the time, it will be the computational concepts we use to approach
and solve problems, manage our daily lives, and communicate and interact with
other people; and
For
everyone, everywhere. Computational thinking will be a reality when it is so
integral to human endeavors it disappears as an explicit philosophy.
It is more of Mathematical Modelling and Computer Simulation
The
most important underlying idea in computational thinking is developing models
and simulations of problems that one is trying to study and solve. We are all
familiar with the idea of developing mental models—we form mental
representations of a problem and often we "play the mental images" in
our heads, doing a mental simulation.
A
math model of a "real world" problem is usually complex. A computer
program to solve this problem can be thought of as a computer model (a physics
model, a math model) for this problem.
Computer
models have some of the characteristics of mental modeling as well as some of
the characteristics of math modeling and the types of modeling done in other
disciplines. If a problem lends itself to computer modeling, then the computer
may well be able to carry out the steps (procedures, symbol manipulations)
needed to solve the problem.
Thus,
computational thinking, integrating
human thinking with the capabilities of computers, provides a powerful new
way to solve problems. The computer aspects of computational thinking require
one to know capabilities and limitations of computers and how one communicates
with (interacts with) a computer system. From an educational point of view, a
key aspect of studying any discipline now includes:
1.
Learning some of the
capabilities and limitations of computers as an aid to representing and solving
the problems of the discipline.
2.
Learning how to
actually make use of these computer capabilities.
3.
Learning how to think
about problems in the discipline both from a traditional point of view and from
a point of view of possible uses of computers to help solve the problem.
According
to David Moursund who wrote more than fifty books on “computers in education”,
(available to download from http://iae-pedia.org/ David_Moursund_Books) there are three types of brains in
representing and solving math problems:
1.
Human brain (a
"meat" brain).
2.
Paper & pencil
(reading and writing) brain.
3.
Information and
Communication Technology (ICT) brain.
It
was a huge leap forward (a major paradigm shift) when people developed reading
and writing as an aid to their meat brain. We are now involved in another huge
step forward (a major paradigm shift) as we develop and learn to make
effective ICT brain.
Our
educational system is certainly making some progress in helping students to
make effective use of the ICT brain and to integrate use of all three types of
brains. However, the progress of thoroughly integrating use of the ICT brain in
with use of one's meat brain and with paper & pencil brain has been modest.
Meanwhile, the ICT brain's capabilities
have continued to grow very rapidly.
A number of the articles point to new
directions to better prepare students
for their futures in our rapidly changing world.
The purpose of this book is to help
develop computational thinking using Electronic Spreadsheets. Spreadsheets are
readily accessible and the interface is quite intuitive. Logical, algorithmic and recursive
thinking which are essential ingredients for Computational thinking is
introduced through the use of fractal geometry. Fractal geometry inherently is
recursive in nature and its implementation in excel without the need of using
any program help novice students to get a
firm grip on the concept of recursion. Further, beautiful pictures created by the recursive
algorithm is so captivating that the readers are likely to try more and more
complex fractals.
Another important aspect of the book is
that many problems and concepts in
probability theory is explored using spreadsheet simulation. Random number
generation from various distributions allows many abstract and difficult
concepts to be explored and verified.Calculus is another area where many
students find difficult to understand. Again Spreadsheet can be easily
employed to explore and verify concepts.
We are living at a
time of a rapid technological change. The rate of change is increasing. Such
change brings with it both threats and opportunities. Students can shape their
informal and formal education to diminish the threats and increase the
opportunities. Gaining a competitive
advantage is one of the underlying themes of the book. Computer technology empowers
and enables its users. This means that in any academic area of study, a student
can gain a competitive advantage by developing a higher level of “traditional”
expertise in the area and by developing an increased level of expertise in
using computers in the areas.