• No se han encontrado resultados

1.2.4 Descripciones Internas:

1.9.1 EL SECTOR PESQUERO ECUATORIANO

A currently popular view is to say that CS is a “way of thinking”, that “computa- tional”, or “algorithmic”, or “procedural” thinking—about anything(!)—is what makes CS unique:

CS is the new “new math,” and people are beginning to realize that CS, like math, is unique in the sense that many other disciplines will have to adopt thatway of thinking. It offers a sort of conceptual framework for other disciplines, and that’s fairly new. . . . Any student interested in science and technology needs to learnto think algorithmically. That’s the next big thing. (Bernard Chazelle, interviewed in Anthes 2006, my italics)

Jeannette Wing’s notion of “computational thinking” (Wing, 2006, echoing Papert 1980) is thinking in such a way that a problem’s solution “can effectively be carried out by an information-processing agent” (Wing, 2010) (see also Guzdial 2011). Here, it is important not to limit such “agents” to computers, but to include humans (as Wing (2008a, p. 3719) admits).

Further Reading:

Papert 1980 only mentions ‘computational thinking’ on p. 182 and ‘procedural thinking’ on p. 155, but his entire book can be thought of as an extended characterization of this kind of thinking and learning. For more on Papert and his version of computational thinking, see Papert 1996 and Barba 2016; see also§3.14.4, above.

The view of CS as computational thinking may offer compromises on several con- troversies: It avoids the procedural-declarative controversy, by including both concepts, as well as others. Her definition of CS (Wing, 2006, p. 34, col. 2) as “the study of computation—what can be computed and how to compute it” is nice, too, because the first conjunct clearly includes the theory of computation and complexity theory (‘can’ can include “can in principle” as well as “can efficiently”), and the second conjunct can be interpreted to include both software programming as well as hardware engineering. ‘Study’ is nice, too: It avoids the science-engineering controversy.

Another insight into “computational thinking” comes from a news item that “New South Wales [in Australia] . . . has made it illegal to possess not just guns,but digital files that can be used to create guns using a 3D printer or milling machine” (New Scientist, 2016, my italics).

Further Reading:See the actual law at

The point is that one can think of an object in two ways: (1) as a “completed” (or implemented) physicalobjector (2) as analgorithmfor constructing it; the latter way of thinking is computational thinking. Note, too, that it is recursive: The completed physical object is the “base case”; the algorithm is the “recursive case”.

Five years before Perlis, along with Newell & Simon, defined CS as the science of

computers, he emphasized what is now called computationalthinking(orprocedural

thinking:

[T]he purpose of . . . [a] first course in programming . . . is not to teach people how to program a specific computer, nor is it to teach some new languages. The pur- pose of a course in programming is to teach people how to construct and analyze processes.. . .

A course in programming . . . , if it is taught properly, is concerned with ab- straction: the abstraction of constructing, analyzing, and describingprocesses. . . . This, to me, is the whole importance of a course in programming. It is a simulation. The point is not to teach the students how to use [a particular pro- gramming language, such as] ALGOL, or how to program [a particular computer, such as] the 704. These are of little direct value. The point isto make the stu- dents construct complex processes out of simpler ones(and this is always present in programming) in the hope that the basic concepts and abilities will rub off. A properly designed programming course will develop these abilities better than any other course. (Perlis, 1962, pp. 209–210, my italics)

Further Reading:

For a commentary on Perlis’s view of what is now called ‘computational thinking’, see Guzdial 2008. Similar points have been made by Wheeler 2013, p. 296; Lazowska 2014, p. A26; and Scott and Bundy 2015, p. 37.

Some of the features of computational thinking that various people have cited in- clude: abstraction, hierarchy, modularity, problem analysis, structured programming, the syntax and semantics of symbol systems, and debugging techniques. Note that all of these are among the methods cited in§3.14.3 for handling complexity!

Further Reading:

See, for example, the list in Grover and Pea 2013, pp. 39–40. On abstraction, see Kramer 2007; Wing 2008a, pp. 3717–3719; and our discussion of abstraction and implementation in Chapter 14.

Here is another characterization of CS, one that also characterizes computational thinking:

Computer science is in significant measure all about analyzing problems, breaking them down into manageable parts, finding solutions, and integrating the results. The skills needed for this kind of thinking apply to more than computer program- ming. They offer a kind of disciplined mind-set that is applicable to a broad range of design and implementation problems. These skills are helpful in engineering, scientific research, business, and even politics![24] Even if a student does not go on to a career in computer science or a related subject, these skills are likely to prove useful in any endeavor in which analytical thinking is valuable. (Cerf, 2016, p. 7)

Denning (2009, p. 33) also recognizes the importance of “algorithmic thinking”. However, he dislikes it as a definitionof CS, primarily on the grounds that it is too narrow:

Computation is present in nature even when scientists are not observing it or think- ing about it. Computation is more fundamental than computational thinking. For this reason alone, computational thinking seems like an inadequate characteriza- tion of computer science. (Denning, 2009, p. 30)

Note that, by ‘computation’, Denning means Turing Machine computation. (For his arguments about why it is “present in nature”, see the discussion in§3.9.3, above. A second reason why Denning thinks that defining CS as computational thinking is too narrow is that there are other equally important forms of thinking: “design thinking, logical thinking, scientific thinking, etc.” (Denning et al., 2017).

Further Reading:

The homepage for the Center for Computational Thinking is at http://www.cs.cmu.edu/

CompThink/. Lu and Fletcher 2009 gives examples of how computational thinking can be

introduced in primary- and secondary-school curricula even before any formal introduction to CS. Pappano 2017 discusses how computational thinking is being taught at all levels. Carey 2010 (cited in§3.13.1.1, above) argues for the value of algorithmic thinking in fields other than computer science (including finance and journalism).

Tedre and Denning 2016 gives a good survey of the history of “computational thinking”. Den- ning and Tedre 2019 expands on that history as well as providing a thorough overview of its many meanings, noting that “computing [in the sense of “calculating”] is an ancient human pro- cess” (p. 11) dating back to at least the Babylonians (see§3.15.1, above), and so “computational thinking” is equally ancient. Denning 2017 and Glass and Paulson 2017 cast a skeptical eye on the notion.

Documento similar