Computational Thinking in Education
eBook - ePub

Computational Thinking in Education

A Pedagogical Perspective

Aman Yadav, Ulf Berthelsen, Aman Yadav, Ulf Dalvad Berthelsen

Partager le livre
  1. 220 pages
  2. English
  3. ePUB (adapté aux mobiles)
  4. Disponible sur iOS et Android
eBook - ePub

Computational Thinking in Education

A Pedagogical Perspective

Aman Yadav, Ulf Berthelsen, Aman Yadav, Ulf Dalvad Berthelsen

DĂ©tails du livre
Aperçu du livre
Table des matiĂšres
Citations

À propos de ce livre

Computational Thinking in Education explores the relevance of computational thinking in primary and secondary education.

As today's school-aged students prepare to live and work in a thoroughly digitized world, computer science is providing a wealth of new learning concepts and opportunities across domains. This book offers a comprehensive overview of computational thinking, its history, implications for equity and inclusion, analyses of competencies in practice, and integration into learning, instruction, and assessment through scaffolded teacher education.

Computer science education faculty and pre- and in-service educators will find a fresh pedagogical approach to computational thinking in primary and secondary classrooms.

Foire aux questions

Comment puis-je résilier mon abonnement ?
Il vous suffit de vous rendre dans la section compte dans paramĂštres et de cliquer sur « RĂ©silier l’abonnement ». C’est aussi simple que cela ! Une fois que vous aurez rĂ©siliĂ© votre abonnement, il restera actif pour le reste de la pĂ©riode pour laquelle vous avez payĂ©. DĂ©couvrez-en plus ici.
Puis-je / comment puis-je télécharger des livres ?
Pour le moment, tous nos livres en format ePub adaptĂ©s aux mobiles peuvent ĂȘtre tĂ©lĂ©chargĂ©s via l’application. La plupart de nos PDF sont Ă©galement disponibles en tĂ©lĂ©chargement et les autres seront tĂ©lĂ©chargeables trĂšs prochainement. DĂ©couvrez-en plus ici.
Quelle est la différence entre les formules tarifaires ?
Les deux abonnements vous donnent un accĂšs complet Ă  la bibliothĂšque et Ă  toutes les fonctionnalitĂ©s de Perlego. Les seules diffĂ©rences sont les tarifs ainsi que la pĂ©riode d’abonnement : avec l’abonnement annuel, vous Ă©conomiserez environ 30 % par rapport Ă  12 mois d’abonnement mensuel.
Qu’est-ce que Perlego ?
Nous sommes un service d’abonnement Ă  des ouvrages universitaires en ligne, oĂč vous pouvez accĂ©der Ă  toute une bibliothĂšque pour un prix infĂ©rieur Ă  celui d’un seul livre par mois. Avec plus d’un million de livres sur plus de 1 000 sujets, nous avons ce qu’il vous faut ! DĂ©couvrez-en plus ici.
Prenez-vous en charge la synthÚse vocale ?
Recherchez le symbole Écouter sur votre prochain livre pour voir si vous pouvez l’écouter. L’outil Écouter lit le texte Ă  haute voix pour vous, en surlignant le passage qui est en cours de lecture. Vous pouvez le mettre sur pause, l’accĂ©lĂ©rer ou le ralentir. DĂ©couvrez-en plus ici.
Est-ce que Computational Thinking in Education est un PDF/ePUB en ligne ?
Oui, vous pouvez accĂ©der Ă  Computational Thinking in Education par Aman Yadav, Ulf Berthelsen, Aman Yadav, Ulf Dalvad Berthelsen en format PDF et/ou ePUB ainsi qu’à d’autres livres populaires dans Éducation et Technologie de l'Ă©ducation. Nous disposons de plus d’un million d’ouvrages Ă  dĂ©couvrir dans notre catalogue.

Informations

Éditeur
Routledge
Année
2021
ISBN
9781000452631

1

Computational Thinking

A Professional and Historical Perspective

Matti Tedre and Peter J. Denning
DOI: 10.4324/9781003102991-1
The current computational thinking (CT) movement in computing education began in 2006 when Jeannette Wing declared that “computational thinking is a fundamental skill for everyone, not just for computer scientists” and that “everyone can benefit from thinking like a computer scientist” (Wing, 2006, 2010). Her declaration came at a time when everything was being digitized and people were finding themselves in a world where algorithms and computing machines made many decisions that affected their work and their lives every day. The unfamiliar logic of computing was bringing great benefits, such as connectivity, along with great worries, such as loss of jobs to automation. Wing called on educators to help everyone learn how computing works, how they can harness it in their own lives, and when they can trust it.
This is not the first computational thinking movement. As early as 1960, educators who saw the computing revolution coming worked hard to bring computer literacy courses and then computer fluency courses into K-12 curricula, but they never got much traction at the scale of nations. In the 1980s, a comprehensive computational science movement emerged that declared CT as the thought processes behind a new, computational way of doing science. Whereas literacy and fluency were movements to teach people how to better use computers, the computational sciences declaration and then Wing’s declaration aimed to teach people how to think in order to understand computing and design computer programs. These declarations have resonated across the board.
The current CT movement has had some noteworthy achievements. Numerous organizations, such as code.org, sprung up to propose K-12 curricula and run coding workshops for children. In the US, with support from the US National Science Foundation, several universities designed new first courses in computing, founded on teaching basic principles rather than a programming language. A new advanced placement curriculum has been adopted in US high schools and is attracting students. With the help of the Computer Science Teachers Association and the Association for Computing Machinery, nearly 5,000 teachers have been trained to teach computing courses. Numerous educators participated in conferences and workshops to design computing curricula and assessment methods for young minds. This accelerated the emergence of the computing education research specialty.

Trouble Spots

Despite these broad roots, CT has come to be narrowly equated with the concepts in the K-12 curriculum. These include abstraction, data representation, structured problem decomposition (modularizing), and algorithms, among others (Barr & Stephenson, 2011; Grover & Pea, 2013). The term “coding” is preferred over “programming”. These characterizations of CT were tailored for the K-12 audience, which is mostly beginners and novices at computing. But that narrow view has become the public face of computational thinking.
To clarify what is missing we will make a distinction between “CT for beginners”, as in the K-12 curriculum, and “CT for professionals”. Professionals who use computing extensively in their work employ a brand of CT that is far beyond the beginner level. They deal with large systems, the Cloud, the Internet, software engineering, computational science, graphics, virtual reality, neural networks, artificial intelligence, data analytics, large databases, security, privacy, satellite networks, and more. The full spectrum of CT ideas includes both CT for beginners and CT for professionals. See Table 1.1. There are many more examples from professional work beyond what we have listed here. The original goals of showing everyone how to think like a computer scientist and learning how the algorithmic world works cannot be met with just CT for beginners.
In an effort to tailor the teaching of basic concepts to young minds, K-12 curriculum designers have emphasized logical reasoning. They have introduced a large number of logic puzzles and games because they know that kids like learning from playing games and being inspired by puzzles. However, this is a problem. Many of the logic puzzles are not strongly connected to computing – similar puzzles have entertained children and readers of popular science books for centuries. After years of failure to get any computing courses in K-12 curricula, why are we using our hard-won, limited allocation of curriculum time to discuss issues that are not unique to computing? Why not emphasize what is unique in computing that cannot be found in other fields?
TABLE 1.1 Spectrum of CT Ideas from Beginners to Professionals
CT for Beginners Examples from CT for Professionals
Abstraction Adaptive routing Model checking
Algorithms and procedures Address mapping Nondeterminism
Automation Branch and bound Public-key cryptography
Data Representation Collection Analysis Bytecode Pattern recognition
Complexity classes Performance analysis
Concurrency Parsing
Design patterns Pointer arithmetic
Problem decomposition Error correction Processes
Parallelization Gradient descent Protection domains
Simulation Hashing Protocols
Hubs and authorities Recursive functions
Interrupts Relational databases
Linear programming Stacks
Locality and caching Lossy compression Virtual machines
Luckily, there are also plenty of exercises in the latest CT wave that teach kids ideas specific to computing. For instance, CS Unplugged reveals the numerical basis of computers by asking kids how to make numbers from flash cards with 1,2,4,8,
 dots inscribed on them. CS Unplugged goes on to reveal that computers are frequently used to sort data by asking kids carrying numbers to walk a sorting network drawn with chalk on the ground, changing places when they intersect with kids of higher numbers.
We argue that these trouble spots are not merely an oversight, but a form of blindness caused by a lack of attention to the history of computational thinking. Without a long view of computing history, it is difficult to see what in the current state-of-the-art is transient and what endures. It is difficult to tell what ideas are computing’s own and what are borrowed from other fields. It is difficult to distinguish fads from fundamentals.
When the stories of computing history are told, it becomes clear that many technology developments were accomplished through painful trial and error by engineers and inventors who often had no applicable science or mathematics to turn to. Most of the work of computing professionals is not the direct application of mathematics but is ongoing experimentation with the design of technologies to find out what works for people and what does not work. A balanced story will tell our young people where the big ideas came from, the important roles of users and designers, and the kind of work they will be doing if they make computing their career.
There is another reason that embracing our history is important. Computing is inherently an interdisciplinary field. Many people in many other fields want to learn computing and use it in their fields. To work effectively across fields, we need to build trust with people from other communities. We do this by understanding what concerns them and showing how computing technology can help. Their concerns flow from their history. Our collaborations will work best if we make an effort to learn something about the history and background of our collaborators. Their trust will follow when they see that we understand who they are.
It is not hard to remedy this issue. We will, in the remainder of this chapter, show how a broader understanding of computing opens up a rich and inspiring story of computational thinking from beginners to professionals. For full historical accounts, we recommend the works of professional historians, including Ceruzzi (2003), Campbell-Kelly (2003), and Ensmenger (2010).

Histories of Core CT Concepts and Skills

It surprises many educators to learn that the concepts and skills most commonly named in connection with computational thinking did not originate in the context of programmable computers and are not unique to the field of computing. The “core computational thinking concepts and capabilities” in K-12 education are listed as abstraction, data representation, data collection, data analysis, problem decomposition, automation, parallelization, simulation, algorithms, and procedures (Barr & Stephenson, 2011). Each has its own long history, emerging and developing in different fields. Their histories intertwine and they all predate the birth of computing as an academic discipline in the 1950s.
Consider the first item on the list, abstraction. The ability to imagine and communicate abstractions is uniquely human. Numbers, letters, words, and ideas are all forms of abstraction. The philosopher Bertrand Russell described in his account of mathematical philosophy how “it must have required many ages to discover that a brace of pheasants and a couple of days were both instances of the number 2” (1919, p. 3). Science has mastered the art of approaching complex systems as hierarchies of levels. One famous example is the “Powers of Ten” video by Charles and Ray Eames (http://www.eamesoffice.com/education/powers-of-ten-2). It begins with a view of a picnicking family in Chicago seen through a window 1 meter on a side. Every ten seconds, the field of view expands by a factor of 10. Around 1024 the entire known universe has shrunk to a single point of light. The video then reverses, zooming to 10–16, the limits of the microuniverse of atomic particles. In this hierarchy, each level is a world of its own, with its own rules and logic, that can be studied without regard to lower or higher levels. In computer science, we do the same thing with software. We organize complex software into hierarchies of abstractions and hide the implementation details of each abstraction behind a simple interface.
Even something as mundane as the binary representation of information – the most common internal representation system in modern computers – has multiple, millennia-long histories in such areas as divination systems and games. Centuries ago, mathematicians knew that two symbols are all that is needed for information representation because large numbers of symbols can be encoded with just two. All numbers, all letters of the alphabet, all Chinese characters, all digitalized data, all sounds, all images, all virtual worlds – can be turned into strings of ones and zeros.
We in computing like to say that our abstractions differ from those in math or science because computing abstractions do things whereas science abstractions only describe things. But this is not quite right. We use abstractions to design software, which controls a machine that follows physical principles to convey signals, change states, and drive outputs. The machine, not the abstractions, produces the action. The abstraction itself is a mental construct, an organizing principle. Our ability to map abstractions on to machines gives us a great power to turn abstract realities into actions.
Moreover, the idea that “abstractions produce action” is hardly unique to computing. James Watt transformed the abstractions of behavior of gasses under pressure and the operation of gears and levers into a steam engine. The Wright Brothers transformed abstractions about steering bicycles and birds gliding on wings into the first aircraft. Computing joins many other fields in designing abstractions to guide the design of machines that behave in clever ways. Computing’s unique contribution is that machines are computers that are extremely versatile and can often simulate machines in other fields.
All the other core CT concepts and capabilities listed by Barr and Stephenson (2011) have similarly broad and deep histories. Representing, collecting, and analyzing data are part of all empirical sciences. Decompositions, such as modules and interchangeable parts, are central in engineering practice. Automation, in the sense of technology that does jobs humans want with minimal human assistance, has its own long history from inventions like Egyptian clocks before the common era through the industrial revolution to Amazon’s robot warehouses in the 2010s. Simulations were used by mathematicians in the late 1700s to estimate π (Buffon’s Needle), by militaries in war games, and by physicists in the Monte Carlo methods that emerged in 1946. The algorithm, our most-revered concept, has roots tracing back thousands of years (Knuth, 1972). And parallelization – which seems unique to high-performance computing – was practiced by teams of human computers in the 1930s to break computations into pieces that an individual could do, and then combine their results (Grier, 2005).
By no means do we suggest that the core CT concepts are any less valuable because they had been discovered in other fields long before computing. Exactly the opposite. Computing takes them into a whole new dimension of information processes and computing machines. Computer scientists join the long traditions of science and engineering with their unique knowledge of computing.
The continuum of CT skills from beginner to professional reflects a learner’s progress during skill acquisition. The experience of teachers to date shows that most students find the concepts of computing to be unintuitive and difficult at first, and the greatest challenge of the CT movement has been to get the teaching of beginners right: The beginner is unfamiliar with the field, and everything needs to be introduced and explained. Practice, at that level, is the application of rules given by the teacher. With continued practice in CT, students become familiar with the basic ideas, know intuitively which rules to apply, and design software competently without creating breakdowns for its users. With even more practice, they can become professionals, proficient, and expert, capable of dealing with very large and complex systems.
We advocate two things. First, let us use our limited curriculum time to teach concepts unique to computing and not drift into a rehash of generic logic and mathematics skills. Second, let us expand the public face of CT to include the whole spectrum fro...

Table des matiĂšres