b, a useful tool that students encounter
during the study of fractions. Euclid’s
classic algorithm, applied to computing gcd( 56, 21), for example, proceeds
as follows: ( 56, 21)⇒( 35, 21)⇒( 14, 21)
⇒( 14, 7)⇒( 7, 7). Here, “⇒” is an abstraction of the function l a,b.if a<b,(a,b-a);
else (a-b,b). We can compare the efficiency of Euclid’s algorithm to an
exhaustive linear search. This comparison further provides a chance to
discuss representation and decision.
For linear search, a single number captures the complete state since each subsequent state is a unary function of the
current state. For Euclid’s algorithm,
a pair representation is necessary as
each subsequent state is conditioned
on both of the current values.
Discussion
Again, note that computers are not explicitly part of this discussion. During
the introduction and development of
basic CT, students are the computing agents that perform the process
execution. Software tools can be used
to assist in this, just as they are used
in teaching basic language and math
skills. But, to reemphasize, the focus
here is on developing the computing
skills of the students, as computers.c
Through practice and repeated encounters, students will become accustomed to thinking and communicating
in the CTL. For students that follow up
with more advanced CS courses, starting with programming, the challenge
will no longer be in learning to think
computationally, but in learning the
nuances of new languages, how to formally describe computations in these
languages, and in subsequent courses
on how such descriptions are executed
on a von Neumann machine. For students that do not pursue CS further,
their background in computational
thinking will be of substantial benefit
in their professional careers and in everyday life.
On the issue of enrollment, we suspect that most students major in mathematics, English, and the humanities
not for the abundance of career opportunities in these fields, but more for intellectual interests, born out of gradual
and sustained exposure. We conjecture
c For a fascinating account of the history of human computing, see .
4
exposure to basic
computer science
will raise awareness
in students of what
Cs might be as a field
of inquiry, leading to
a broader participation
of a wider variety
of students in
our discipline.
that students with similar development
in CT will also be more likely to choose
CS based on intellectual motivations,
and, furthermore, that they will be better prepared for programming and the
major curriculum. 1 Exposure to basic
computer science will raise awareness
in students of what CS might be as a
field of inquiry, leading to a broader
participation of a wider variety of students in our discipline.
To truly integrate computational
thinking into current K– 12 curricula
undoubtedly presents significant challenges. It will necessarily be a gradual
and evolutionary process, and requires
coordination among many constituents of the wider education community. We consider definitive efforts toward
achieving broader CT literacy as some
of the most exciting, challenging, and
necessary next steps in the maturation
of the computer science discipline.
References
11. carter, l. Why students with an apparent aptitude for
computer science don’t choose to major in computer
science. in Proceedings of SIGCSE 2006 (houston,
tX), 27–31.
2. cohen, a. and haberman, b. computer science: a
language of technology. SIGCSE inroads 39, 4 (2007),
65–69.
3. denning, P.J. and Mcgettrick, a. recentering computer
science. Commun. ACM 48, 11 (nov. 2005), 15–19.
4. grier, d.a. When Computers Were Human. Princeton
University Press, Princeton, nJ, 2005.
5. guzdial, M. Paving the way for computational thinking.
Commun. ACM 51, 8 (aug. 2008), 25–27.
6. Wing, J.M. computational thinking. Commun. ACM 49,
3 (Mar. 2006), 33–35.
George H.L. Fletcher ( fletcher@vancouver.wsu.edu) is an
assistant professor of computer science in the school of
engineering and computer science at Washington state
University in vancouver.
Calendar
of Events
february 14–19
acM SigPLan Symposium
on Principles and Practice of
Parallel Programming,
Raleigh, nc,
Sponsored: SigPLan,
contact: Daniel a Reed,
email: Daniel.Re ed@
microsoft.com
february 20–21
i Wic ’09: international
Workshop on intercultural
collaboration 2009,
ca, USa,
contact: Pamela hinds,
email: phinds@
leland.stanford.edu
february 27–March 1
i3D ’09: Symposium on
interactive 3D graphics
and games,
boston, Ma,
contact: Manuel Menezes
oliviera neto,
Phone: 55-51-3332-0927,
email: oliveira@inf.ufgrs.br
March 2–6
2nd international conference
on Simulation tools
and techniques,
Rome, italy,
contact: oliver Dalle,
Phone: 33-492-387-937,
email: olivier.dalle@
sophia.inria.fr
March 3–7
the 40th acM technical
Symposium on computer
Science education,
chattanooga, tn,
Sponsored: SigcSe,
contact: Sue e fitzgerald,
email: sue.fitzgerald@
usermail.com
March 9–13
hRi ’09: international
conference on human
Robot interaction,
La Jolla, ca,
Sponsored: SigaRt,
contact: Matthias Scheutz,
email: mscheutz@indiana.edu
March 11–13
acM SigPLan/SigoPS
international conference
on virtual execution
environments,
Washington Dc,
Sponsored: SigoPS, SigPLan,
contact: antony L hosking,
email: hosking@cs.purdue.edu
feBRuaRY 2009 | vol. 52 | No. 2 | CommunICatIons of the aCm
25