Computer Science
Computational Thinking
Computational thinking involves breaking down complex problems into smaller, more manageable parts, and then solving them using logical and algorithmic thinking. It emphasizes the use of abstraction, pattern recognition, and algorithm design to tackle problems in a way that can be executed by a computer. This approach is fundamental to problem-solving and programming in computer science.
Written by Perlego with AI-assistance
Related key terms
1 of 5
11 Key excerpts on "Computational Thinking"
- Sally A. Fincher, Anthony V. Robins(Authors)
- 2019(Publication Date)
- Cambridge University Press(Publisher)
Computing at School (CAS) adopted this basic definition to promote Computational Thinking in England (Csizmadia et al., 2015). This is based on the five top-level categories that were most commonly encountered and so showed the most consensus from the research community: algorithmic thinking, abstraction, decomposition, generalization, and evaluation. Further evolution of the term may also be needed if “Computational Thinking” is taken to be the skill set needed to develop computational systems in the future. For example, Chapter 20 argues for the need to include more explicitly the underlying skills needed for new areas such as machine learning, distributed computing, and quantum computing paradigms. This implies that not just logical thinking, but also statistical and probabilistic thinking skills will be needed for the development of computational systems in the future. 17.1.6 Problem-Solving, Expression, Creativity, and Communication Computational Thinking is currently mainly associated with problem-solving, but this may limit the opportunities for getting the most from it, as well as limiting those who might be attracted to using it. Bers (2017) links back to Papert’s call for technological fluency as well as Computational Thinking (Papert, 1980), describing technological fluency as when one can express one- self “creatively, in a fluent way, effortlessly and smoothly as one does with lan- guage” (Bers, 2008). She sees Computational Thinking as too associated with problems and draws out the potential for using it for communication, creativity, and expression beyond science, technology, engineering, and mathematics (STEM). This resonates with classroom practice, where students probably do not see their programs as algorithms that solve a problem, but as instructions that make something happen.- David Riley, Kenny A. Hunt(Authors)
- 2014(Publication Date)
- Chapman and Hall/CRC(Publisher)
4 ◾ Computational Thinking for the Modern Problem Solver and implementing programs to solve them. Some subdisciplines of com-puter science, like graphics, robotics, information security, networking, and artificial intelligence, study the concepts implied by their names. All of these computer science topics, and others, play a role in this book. The preceding discussion has been leading to the central issue of this book, namely, Computational Thinking . The best way to characterize com-putational thinking is as the way that computer scientists think, the man-ner in which they reason (Figure 1.1). Of course it is not possible to explore everything that is known to com-puter science. So we have selected computer science concepts, techniques, and methods that have the widest utility to those individuals who most likely will not be computer scientists. In other words, this is written to cap-ture how computer scientists think for the rest of us. Some of the book’s topics are necessary simply to be literate in a society that is so dependent upon computers. Some of the concepts will allow you to more effectively use computers in your own field. Many of these ideas are borrowed from more advanced computer science courses. However, it is increasingly the case that computing concepts are used everywhere. Words like “multi-tasking,” “downloading,” and “flash memory” illustrate how computer science jargon has found its way into everyday speech. Discoveries in many fields would not have been possible without computers. Human genome sequencing requires the processing of thousands of genes made from billions of base pairs. Motion pictures rely on computational tech-niques, such as wire frame models, to create lifelike images of fictional Thinking? Computational FIGURE 1.1 Computational Thinking? What Is Computational Thinking? ◾ 5 worlds. Modern medicine is practiced with minimal invasiveness due to robotics.- eBook - PDF
- Adele Kuzmiakova(Author)
- 2020(Publication Date)
- Arcler Press(Publisher)
Computer Science in Early Childhood 3 CONTENTS 3.1. Introduction ...................................................................................... 48 3.2. Computational Thinking .................................................................... 48 3.3. Block-Based Programming Languages ............................................... 64 3.4. Programming Games ........................................................................ 67 3.5. Introductory Robotic Systems ............................................................ 70 Chapter Computer Science and Technology in Schools 48 3.1. INTRODUCTION Before applying computers to solve complex any problems, we should comprehend its methods. Computational Thinking systems help with instilling these skills and ways of thinking. This procedure allows people to take a complicated issue, learn what the difficulty is and create possible solutions. Consequently, these solutions can be delivered in a means that a computer or person can comprehend.Basically, Computational Thinking entails taking a complex matter and dividing it down into much smaller and manageable parts. Every one of the smaller bits may then be addressed personally, remembering how similar issues have been solved beforehand and concentrating only on the essential details, whereas ignoring immaterial information that may also be there. Afterwards, basic steps or policies to solve these smaller issues can be developed. Ultimately, these simple procedures or rules are applied to code the computer or assist in solving complex issues in a simple way.Nevertheless, thinking computationally doesn’t involve programming. It’s also not about reasoning like a computer, since computers don’t, and never, think by themselves. Simply said, programming shows a computer what it needs to do, including how this should be done. It permits you to determine precisely what to command the PC to do. - David Morris, Gurmit Uppal, David Wells, Author(Authors)
- 2017(Publication Date)
- Learning Matters(Publisher)
Chapter 2 , the development of children’s Computational Thinking skills provides the foundation for the computing curriculum (DfE, 2013a). In addition to its clear links to computing, the potential of Computational Thinking to enhance learning across other curriculum areas also offers exciting opportunities. To recap, Computational Thinking encompasses a range of processes and approaches which can be utilised to tackle a problem or create a solution. Commonly used processes and approaches include:Computational Thinking processes:• Logical reasoning – to predict, analyse and check information; • Decomposition – breaking up problems into separate parts; • Abstraction – removing irrelevant details; • Pattern recognition or Generalisation – the identification and use of similarities; • Algorithms – clear and precise step-by-step procedures or rules; • Evaluation – ongoing decision making to check the solution meets the requirements of the problem.Computational Thinking approaches:• Tinkering – experimenting and playing; • Creating solutions; • Debugging – finding and fixing errors; • Perseverance; • Collaboration. (CAS Barefoot Computing, 2014)It should be noted that Computational Thinking does not always require a computer and so-called ‘unplugged’ approaches should not be overlooked in developing children’s approaches to problem solving (see Chapters 2 and 10 for more on unplugged approaches). This chapter will explore how and where Computational Thinking can already be seen in the classroom and how it can be applied to different subject areas. It should be noted that strong cross-curricular links between computing and other subjects have also been explored elsewhere in this book, for example, how floor robots can be used in geography and mathematics in Chapter 3- eBook - ePub
Applied Computational Thinking with Python
Design algorithmic solutions for complex and challenging real-world problems
- Sofía De Jesús, Dayrene Martinez(Authors)
- 2020(Publication Date)
- Packt Publishing(Publisher)
Chapter 2 : Elements of Computational ThinkingThe previous chapter provided some general information about the fundamentals of computer science. In this chapter, we will focus more closely on understanding Computational Thinking and the elements that make up Computational Thinking: decomposition, pattern recognition, pattern generalization or abstraction, and algorithm design.The importance of the Computational Thinking process cannot be understated. Through the process, we analyze problems to design the best possible solutions based on a set of conditions. Although many algorithms can be written to answer the same questions, using the Computational Thinking process helps us to determine the optimal path to take to design a clear algorithm that can be generalized.In this chapter, we will cover the following topics:- Understanding Computational Thinking
- Decomposing problems
- Recognizing patterns
- Generalizing patterns
- Designing algorithms
- Additional problems
In order to learn more about Computational Thinking, we will be looking at the elements through the lens of a problem presented. Keep in mind that we will be doing a deeper dive into the Python programming language in Chapter 8 , Introduction to Python , but you can go back and forth to that chapter as needed while you dive into this and all the other chapters of the book.Technical requirements
You will need the latest version of Python to run the codes in this chapter. You will find the full source code used in this chapter here: https://github.com/PacktPublishing/Applied-Computational-Thinking-with-Python/tree/master/Chapter02Understanding Computational Thinking
In its most basic definition, Computational Thinking is a problem-solving process. Much like with design thinking, the scientific method, and other similar methods, there are a number of steps we go through to find solutions. For example, the scientific method has seven steps. Please keep in mind that there are multiple interpretations of the scientific method out there and some differ in terms of the number of steps. For the purposes of this discussion, we will use these seven steps: - eBook - PDF
Introduction to Computing Using Python
An Application Development Focus
- Ljubomir Perkovic(Author)
- 2012(Publication Date)
- Wiley(Publisher)
>>> print('Hello world') Hello world The interactive shell is used to execute single Python instructions like print('Hello world'). A program typically consists of multiple instructions that must be stored in a file before being executed. 1.4 Computational Thinking In order to illustrate the software development process and introduce the software develop- ment terminology, we consider the problem of automating a web search task. To model the relevant aspects of the task and describe the task as an algorithm, we must understand the task from a “computational” perspective. Computational Thinking is a term used to describe the intellectual approach through which natural or artificial processes or tasks are under- stood and described as computational processes. This skill is probably the most important one you will develop in your training as a computer scientist. A Sample Problem We are interested in purchasing about a dozen prize-winning novels from our favorite online shopping web site. The thing is, we do not want to pay full price for the books. We would rather wait and buy the books on sale. More precisely, we have a target price for each book and will buy a book only when its sale price is below the target. So, every couple of days, we visit the product web page of every book on our list and, for each book, check whether the price has been reduced to below our target. 10 Chapter 1 Introduction to Computer Science As computer scientists, we should not be satisfied with manually visiting web page after web page. We would rather automate the search process. In other words, we are interested in developing an application that visits the web pages of the books on our list and finds the books whose price is below the target. To do this, we need to describe the search process in computational terms. Abstraction and Modeling We start by simplifying the problem statement. The “real world” that is the context for the problem contains information that is not really relevant. - eBook - ePub
Computational Thinking in Education
A Pedagogical Perspective
- Aman Yadav, Ulf Berthelsen, Aman Yadav, Ulf Berthelsen, Ulf Dalvad Berthelsen, Aman Yadav, Ulf Dalvad Berthelsen(Authors)
- 2021(Publication Date)
- Routledge(Publisher)
1Computational Thinking
A Professional and Historical Perspective
Matti Tedre and Peter J. DenningDOI: 10.4324/9781003102991-1The 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 - eBook - PDF
- Kyla McMullen, Elizabeth Matthews, June Jamrich Parsons, , Kyla McMullen, Kyla McMullen, Elizabeth Matthews, June Jamrich Parsons(Authors)
- 2021(Publication Date)
- Cengage Learning EMEA(Publisher)
PROGRAMMING WITH C++ 12 Levels of Abstraction (1.4.7) After you get the hang of abstraction, you’ll see examples of this Computational Thinking concept everywhere. Applying the correct level of abstraction to your programs may take a little practice. A level of abstraction relates to the amount of detail that is hidden. Abstracting out too much detail can make a program too generalized. Neglecting abstraction can produce programs that are too specific to work with a wide variety of data. See Figure 1-11. Figure 1-11 Levels of abstraction Just right Too specific Too abstract With experience, you’ll be able to identify useful abstractions and gauge the correct level of abstraction to use. SUMMARY • Computational Thinking techniques help programmers define problems, find solutions, delineate tasks, and devise algorithms. • An algorithm is a series of steps for solving a problem or carrying out a task. Programming algorithms are the blueprints for computer programs. • Standard algorithms exist for many computing tasks. When an algorithm does not exist, you can step through a process manually and record the steps, or apply Computational Thinking techniques, such as decomposition, pattern identification, and abstraction. • Decomposition divides a complex problem or task into manageable units. • Pattern identification reveals sequences and repetitive tasks that can lead to algorithm efficiencies. • Abstraction is a key computer science concept that suppresses details, substitutes a generalization for something specific, and allows an algorithm to work for multiple inputs. Figure 1-10 A login abstraction Black box User ID password Allow or deny access Look up stored user ID and password. Compare stored user ID and password to entered user ID and password. If they match, allow access. Copyright 2022 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. - eBook - PDF
Technology Integration for Meaningful Classroom Use
A Standards-Based Approach
- Katherine Cennamo, John Ross, Peggy Ertmer, , Katherine Cennamo, John Ross, Peggy Ertmer(Authors)
- 2018(Publication Date)
- Cengage Learning EMEA(Publisher)
Students must acquire foundational knowl-edge and skills as a basis for the critical and creative thinking that is often required for addressing authentic problems. But foundational knowledge and skills are rarely sufficient for tackling complex, authentic problems. Students of all ages can benefit from incorporating proven practices and principles in order to apply foundational knowledge and skills in authentic contexts or when addressing real-world problems. In the next sections we explore how you can use two of these practices, namely design thinking and Computational Thinking, as means to help students explore complex, real-world problems with greater efficiency. 7-3a Design Thinking According to Goldman and Kabayadondo (2017), design thinking is “a method of problem solving that relies on a complex set of skills, processes, and mindsets that help people generate novel solutions to problems” (p. 3). In recent years, design think-ing has been advocated as an effective means for promoting innovative solutions to problems in a variety of professions and has been successfully applied in medicine, law, business, engineering, the physical and social sciences, the arts, and education (Kelley & Kelley, 2013). Design thinking is generally referred to as a soft, or process, Courtesy of John Ross CHAPTER 7 170 technology, as opposed to the hard technology products we typically think of when we talk about technology. A key component of design thinking is its focus on framing problems based on human need. Design thinking is used to identify potential solu-tions for a problem experienced by a specific person or group of people. The following example illustrates what design thinking might look like in action: Three design teams of ninth grade students were challenged to transform the meaning of patient comfort for seriously ill patients. Over the course of the next three days, teams worked to create a prototype for their assigned clients. - eBook - PDF
Learner-Centered Design of Computing Education
Research on Computing for Everyone
- Mark Guzdial, MARK GUZDIAL(Authors)
- 2022(Publication Date)
- Springer(Publisher)
Jeannette Wing suggested that learning computing provides new kinds of insights, skills, and 40 3. Computational Thinking AND USING PROGRAMMING TO LEARN concepts that could be applied in other domains. She gave several examples, which I separated into two sets. e first set is about applying computing ideas to facilitate computing work in other disciplines. e second set is about applying computing ideas in daily life, completely apart from any use of computing. e challenge to Computational Thinking is the problem of knowledge transfer. If you learn to make a computer repeat steps, does that influence how you think about your co-workers, as Jeannette Wing suggests [326]? If you learn how to sort numbers with recursion, do you also learn how to use recursion when developing a strategy for tiling your kitchen floor? What we know about knowledge transfer suggests that it’s quite hard to get transfer from one area of computing to another. For example, I showed evidence in the last chapter that students fail to apply even simple computing ideas to fairly simple problems. A set of learning activities have been designed for students called CS Unplugged which aim to teach computing concepts away from the computer. Researchers found that students doing these activities rarely connected them with computing [307]. Even learning activities designed to teach computing might not get connected to computing. Achieving the goals of applying computing ideas to facilitate computing work in other disci- plines is clearly achievable. is is what Perlis was describing in his 1961 lecture. e notation of programming is powerful for describing models, as Bruce Sherin described (in the last chap- ter). Computer science has many important principles that have influenced many disciplines [56]. Students gain tremendously in productivity and in access to jobs by learning computer science in ways that encourage application to their fields and careers. - eBook - PDF
Introduction to Elementary Computational Modeling
Essential Concepts, Principles, and Problem Solving
- Jose Garrido(Author)
- 2011(Publication Date)
- Chapman and Hall/CRC(Publisher)
Part I Understanding Problem Solving This page intentionally left blank This page intentionally left blank Chapter 1 Understanding Word Problems 1.1 Introduction Although a computational problem may be solved using mathematics, a calculator, or a computer program, developing a solution to these problems begins with a description of the problem in a human language (e.g. English). To solve such problems, it is necessary to understand what the (English) problem statement is saying. One may say “well, I already understand English,” and that is correct — for casual conversations. In this case, one only needs to have a general understanding of what is being said. The problem statement of real-world situations is often described in a very ambiguous, incomplete, and confusing manner. However, for developing com-putation models from problem statements, one needs to understand precisely what is being said. Therefore, there is a need to focus on every word that is be-ing said (not just the general context). Otherwise, the appropriate computations will most likely not be performed. The first important step in developing computational models is understand-ing the problem. This is part of the general approach of computational think-ing that is required for any problem that involves calculations. This chapter discusses how to understand a precise problem description. Computational Thinking is an approach for developing computational mod-els and is used for problem solving in the following application areas: • Sciences (biology, chemistry, computing, physics, geology, etc.) • Social Sciences (psychology, sociology, geography, etc.) • Engineering (electrical engineering, civil engineering, mechanical engi-neering, etc.) • Business (accounting, finance, marketing, economics, risk management, etc.) 3 4 Introduction to Elementary Computational Modeling 1.2 Nouns and Verbs Consider the following example: To calculate the area of a rectangle, multiply the width and height.
Index pages curate the most relevant extracts from our library of academic textbooks. They’ve been created using an in-house natural language model (NLM), each adding context and meaning to key research topics.










