a different way of thinking, called CT”
and “learning about programming is a
way to discover the rudiments of CT.”
It emerges, from these three ex-
amples, that CT is not a new subject
to teach and what should be taught in
school is informatics.
But on the other side, the high number of papers published with CT in their
title or abstract (the ACM Digital Library
alone contains more than 400) indicates a lot of people seem to argue (and
even Wing seemed to agree21) that CT
is something new and different. Some
even say “coding” (which they consider
different from “programming”) is all
you need to learn it! A discussion of
risks related to this approach and other
delicate issues regarding CT appeared
in a recent Communications column.
8
I am convinced that considering
CT as something new and different is
misleading: in the long run it will do
more harm than benefit to informatics.
After all, they do not teach “linguistic
thinking” or “mathematical thinking”
in schools and they do not have “body
of knowledge” or “assessment methods” for these subjects. They just teach
(and assess competences in) “English”b
and “Mathematics.” Subsequently, the
various linguistic (resp. mathematical)
competences gained by study of English (resp. Mathematics), beyond being used in themselves, find additional
uses in other disciplines. Between CT
and computing there exists the same
relation. Therefore, we should discuss
what to teach and how to evaluate competences regarding informatics in pri-mary/middle/secondary schools, and
forget about teaching and evaluating
competences in CT.
In summary, speaking about CT
helps people understand that: we are
focusing on scientific and cultural aspects of computing; we are not dealing
with system and tools, but with principles
and methods; we are focusing on the
core scientific concepts of computing,
on its conceptual kernel.
11 Different from
what happens with language and math,
we are forced to explicit this distinction
since computers are what embodies
informatics for most of people. In addition, we do not think the “computer scientists’ way of thinking” is better than
others, just that it offers a complemen-
b Or the relevant native language.
Viewpoint risks spoiling the original
aim. Increasingly, people are considering CT a new subject, somehow different
or distinct from computer science. In
the quest to identify the definition that
Wing did not provide, people are stressing one or other aspect (abstraction,
recursivity, problem solving, …) and in
doing so they obscure its meaning. See
Armoni2 and Denning5 for clear and illuminating discussions of this issue.
This situation becomes even more
garbled when it comes to education.
Speaking about teaching CT is a very
risky attitude: philosophers, rightly, ask
what we mean by “teaching thinking”;
mathematicians appropriately observe
that many characteristics of CT (such as
abstraction, recursivity, problem solving, …) are also proper of mathematics
(which they do not call “mathematical
thinking”); pedagogues ask how we can
be sure CT is really effective in education; teachers want to know which are
the methods and the tools for teaching
this new discipline and how they can
learn to teach it; and parents are alternately happy because it appears school
has finally started to align itself to the
digital society while they are also concerned about what will happen to their
children in the future if they just learn
to code with the language of today.
I think a large part of the community of computing scientists and educators is convinced the original
Communications Viewpoint by Wing was
aiming at “start rolling the ball” and
what needs to be done is teaching informatics in schools, possibly beginning at an early age. Moreover, I am
convinced the same people are fully
able to understand the meaning of
Wing’s expression “to think like a computer scientist” without the need of exactly explaining it. Or, if it is absolutely
needed, they might agree with the
self-referential sentence “CT is the set
of mental and cognitive competences
obtained by the study and practice of
computer science”: the “tacit knowledge” defined by Polanyi.
14
Already in 1974 Knuth warned, in
discussing computer science, that
“the underlying concepts are much
more important than the name.”
10 It is
much more so, I think, for CT. What re-
ally counts is the fact that computing is
taught early in schools. This is actually
the path being followed by some ma-
jor countries. Here, I discuss the three
most relevant ones.
In England, the national computing
programmes of study,a published by the
Department of Education in September
2013 and mandatory since school year
2014–2015, uses CT in the presented
sense of what one gets by the study and
practice of computing. In fact, it uses it
in the opening statement “A high-quality computing education equips pupils
to use CT and creativity to understand
and change the world” and then just
two more times, in goals for Key Stage
3 “understand several key algorithms
that reflect CT” and KS4 “develop and
apply their analytic, problem-solving,
design, and CT skills.” The curriculum never defines the term.
In the U.S., the “Every Student Succeeds Act” (ESSA), approved by Congress
in 2015 with bipartisan support, has introduced computer science among the
“well rounded educational subjects”
that needs to be taught in schools “with
the purpose of providing all students
access to an enriched curriculum and
educational experience,” and does not
contain at all the term “computational
thinking.” In January 2016, President
Obama launched the initiative “CS
For All” whose goal is “to empower all
American students from kindergarten
through high school to learn computer
science and be equipped with the CT
skills they need …”. Once again, CT is
what you get when you have learned
computer science.
In France, the Académie des Sciences—the highest institution representing French scientists—published in
May 2013 the report “L’enseignement
de l’informatique en France. Il est urgent de ne plus attendre,” (“Teaching
computer science in France. Tomorrow
can’t wait.”) recommending—for what
regard the teaching of computer science
(“informatique”)—“teaching should
start at the primary level, through exposure to the notions of computer science and algorithms, … <and> should
be further developed in middle and secondary school.” Analyzing their use of
CT (“pensée informatique”), it is clear
that in their vision the term denotes the
specific habits of thinking developed by
learning computer science. Just a couple of examples: “computing … leads to
a See https://bit.ly/1f7PIFU