/* ---- Google Analytics Code Below */

Thursday, January 31, 2019

Computational Thinking

Computational thinking is 'thinking like a computer scientist', that is logically, effectively applied to important human goals.   I agree its a noble definition.  Its one effective way  that you can prove you know something, and have a means to change your knowledge as its context changes.  But I think there may be other future ways, not best called 'computational thinking', that may emerge.  Good read that makes you think:

Do We Really Need Computational Thinking?  By Enrico Nardelli 
Communications of the ACM, February 2019, Vol. 62 No. 2, Pages 32-35
10.1145/3231587

I confess upfront, the title of this Viewpoint is meant to attract readers' attention. As a computer scientist, I am convinced we need the concept of computational thinking, interpreted as "being able to think like a computer scientist and being able to apply this competence to every field of human endeavor."

The focus of this Viewpoint is to discuss to what extent we need the expression "computational thinking" (CT). The term was already known through the work of Seymour Papert,13 many computational scientists,5 and a recent paper15 clarifies both its historical development and intellectual roots. After the widely cited Communications Viewpoint by Jeannette Wing,19 and thanks to her role at NSF,6 an extensive discussion opened with hundreds of subsequent papers dissecting the expression. There is not yet a commonly agreed definition of CT—what I consider in this Viewpoint is whether we really need a definition and for which goal.

To anticipate the conclusion, we probably need the expression as an instrument, as a shorthand reference to a well-structured concept, but it might be dangerous to insist too much on it and to try to precisely characterize it. It should serve just as a brief explanation of why computer science (or informatics, or computing: I will use these terms interchangeably) is a novel and independent scientific subject and to argue for the need of teaching informatics in schools.

Wing discussed CT to argue it is important every student is taught "how a computer scientist thinks,"19 which I interpret to mean it is important to teach computer science to every student. From this perspective, what is important is stressing the educational value of informatics for all students—Wing was in line with what other well-known scientists had said earlier; I mention several here.

Donald Knuth, well known by mathematicians and computer scientists, in 1974 wrote: "Actually, a person does not really understand something until he can teach it to a computer."10 George Forsythe, a former ACM president and one of the founding fathers of computer science education in academia, in 1968 wrote: "The most valuable acquisition in a scientific or technical education are the general-purpose mental tools which remain serviceable for a lifetime. I rate natural language and mathematics as the most important of these tools, and computer science as a third."9 Even if both citations are not relative to a school education context, in my view they clearly support the importance of teaching computer science in schools to all students.   ... " 

No comments: