Background of the Relationship Between Programming and Computational Thinking

Background of the Relationship Between Programming and Computational Thinking

Servet Kılıç
Copyright: © 2023 |Pages: 22
DOI: 10.4018/978-1-6684-6339-0.ch012
OnDemand:
(Individual Chapters)
Available
$37.50
No Current Special Offers
TOTAL SAVINGS: $37.50

Abstract

Computational thinking (CT) is a new concept that has come to the fore in recent years, and its importance has been revealed after research. The differences in the definition and scope of CT also cause controversy at the point of the disciplines that CT is related. While some researchers refer to CT directly with programming within computer science, some researchers emphasize the relationship of CT with different disciplines. Empirical studies dealing with CT together with programming are intense in the literature. This chapter aims to explain the relationship between CT and programming with its theoretical foundations. There is a relationship between the conceptual, semantic, and strategic knowledge structure required for programming, and the structures put forward for the definition, scope, and evaluation of CT. Problem solving plays a key role in the link between programming and CT.
Chapter Preview
Top

Introduction

Programming forms the basis for building an understanding of computer science (CS) concepts (Fessakis et al., 2013), and providing computational approaches to daily life problems (Grover & Pea, 2013). Programming includes understanding syntax structures (Variable, operator, decision structures, loops, sequences, etc.), creating semantic structures by combining structures with certain algorithms, and using several problem solving strategies (Bayman & Mayer, 1988; Oliver, 1993). Linn (1985) defined programming as a chain of cognitive achievement creating a hierarchical structure such as language features, design skills, and problem solving skills. As seen, programming contains three interrelated information such as syntax, algorithm creation and problem solving. Among these, problem solving is shown as the most difficult and complex one (Hoc et al., 1990). Beginners of programming can easily learn syntax structures specific to programming languages, but may have difficulty in how and where to use these structures. At this stage, some skills such as planning, analysis, generating hypotheses, creating algorithms, debugging, and problem solving need to be put to work (Nickerson, 1982). Putting these skills to work depends on understanding and interpreting the output of information processing tools such as the computer where programming is done (Sáez-López et al., 2016; Zhang & Nouri, 2019). What is meant here is to predict the reaction of the command sequences in the information processing tools, or to take into account their movements by thinking like a computer. Today, this logical approach is mostly associated with computational thinking (CT) (Wing, 2010).

The term CT first came to the fore as a proposal of method for defining the relationship between the problem and solution in the discussions on how to use computers in solving geometric problems (Papert, 1996). Looking at the historical process of CT, the first thing that comes to mind is the constructionism approach (Papert, 1993). With the LOGO programming language developed by Papert, it was aimed to facilitate the learning of mathematics and logical thinking through computers, according to the constructionism point of view. However, these studies were not fully successful in transforming education, and gradually lost their effectiveness in the United States and England (Agalianos et al., 2001). CT was brought to the fore again from a different perspective by Wing (2006). As a method of problem solving making use of the basic concepts of CS, CT was shown as a basic skill such as reading, writing, and arithmetic operations attributed to CS, and performed in daily life (Wing, 2006). The fact that CT was mostly associated with CS, and that it was shown as being able to think like a computer scientist brought controversy. Within the framework of the discussions, research on CT also increased. While the results of the studies revealed that CT was an important skill, it also brought uncertainties about the definition, scope, and how it was developed to the present day. While many researchers directly associated CT with programming (Ma et al., 2021; Mouza et al., 2020), some researchers stated that CT should not be limited to programming only, and could be associated with different disciplines (CSTA & ISTE, 2011).

Key Terms in this Chapter

Computer Science: Theory, experimentation, and engineering study that forms the basis for the design and use of computers.

Programming: Commands, words, arithmetic operations that tell the computer how to behave with the hardware and direct the computer.

Problem Solving: Defining a problem, determining its cause, selecting alternatives for solution, and implementing the solution.

Algorithm: Step-by-step design of a solution to solve a specific problem or achieve a specific goal.

Programming Languages: A standardized way for a programmer to tell a computer what she/he wants it to do to express an algorithm.

Constructionism: Explain how knowledge is constructed in the mind of the individual and focus on the ways internal structure is supported by structures in the external world.

Complete Chapter List

Search this Book:
Reset