Reflecting on Computational Thinking Studies for High School Education

Computational thinking (CT) has been acknowledged as a necessity in solving complex problems. Several investigations have been conducted to introduce this skill to a wide range of education level. This study intends to review the current state of CT studies in high school. In particular, it aims to examine the domain of interest of CT studies for high school, identify the different ways of promoting CT as well as the skills incorporating to the students. A systematic literature review was performed to achieve the goals. The results showed: CT studies involved theoretical study, curriculum/course, assessment, and tools development. From the theoretical point of view, several studies were pointed to formulate the skills. Other than technical skills or knowledge, soft-skills has been declared as the element of CT. However, the interest to involve soft-skills in the studies is lacking. Most of the studies still focus on integrating CT into the curriculum. Coding comes up as the most widely used method to teach CT. Subsequently, algorithmic thinking and abstraction emerge as the mostly taught or assessed skills. Finally, this study highlights the gap for further research which is CT skills assessment and to entangle the soft-skills in further CT studies. Keywords—Computational thinking, High school, Problem-solving Cogito Smart Journal | VOL. 4 | NO.2 | DESEMBER 2018 ◼ Copyright @2018 | Universitas Klabat | CORIS Member | ISSN: 2541-2221 | E-ISSN: 2477-8079 244


INTRODUCTION
Over a decade ago Wing introduced a new problem-solving approach called the 'computational thinking. ' Wing's proposal is for everyone to learn and use computer scientists problem-solving techniques in solving the problem of the general domain. The idea that computer science concept would be applicable to problem-solving in other fields were sounded five decades ago. As noted by [1], in 1945, George Polya wrote about mental disciplines and methods to solve mathematics problems. Later on, Alan Perlis brought up the thought that computers would automate and transform processes in all fields. Perlis, in 1962, sounded his insight that programming would lead to the understanding of a variety of topics. Then, in 1980, Seymour Papert found that thinking like a computer, which he called 'procedural thinking,' was a valuable component of thinking skills. He applied programming symbols and representation to teach children how to solve mathematical problems [2]. One Noble Physics scientist, L.K. Wilson, used the term 'computational science' to refer to computation as a method to exploit existing knowledge to discovering new knowledge [3]. It can be concluded that researchers have recognized the potential of computer science towards other disciplines. However, the momentous changes took place on this topic since 2006 when Wing published her noteworthy article on Computational Thinking. CT became a 'popular' research topic in computer science, education, and many other disciplines.
Later, researchers put effort into reviewing the definition of CT to revisit and provide a more precise understanding of CT and to capture its essence as well. CT is defined by [1] as ways of thinking about computing. CT is the mental orientation to convert the problem into solutions [4]. In other words, CT is a problem-solving process [5]. It draws on the concepts and methodologies of computing to address problems in a broad range of subjects [6]. In 2011, Wing revised her initial definition of CT as the thought processes involved in formulating problems and their solutions that can be effectively carried out by an information-processing agent; a human or machine or combinations of humans and machines [7], which later concluded by [8] as the thought processes involved in formulating problems into computational solutions, i.e., the algorithms. Thinking like a computer scientist is the essence of CT [9].
As noted earlier, CT has drawn researchers attention, particularly since it has acknowledged as critical skills required in the Fourth Industrial Revolution (4th IR) workplaces. Recent studies have shown that efforts to equip the young generations with CT skills continue to be carried out, investigating both teaching and assessing issues. In this study, the researcher provides a flashback of what has been done in CT, in particular for high school level. Evaluating the current state of the CT studies is beneficial for educators to have insight on CT development as a general, moreover, in particular, the CT technology and content necessary for high school level pupils, as well as strategies and methods which reliable to be used as best practices to teach and assess CT skills. Additionally, this study reveals the gaps in CT studies that further can be improved.

RELATED WORKS
A literature review presented by [10] investigated the development of CT through programming. From the review, authors propose to conduct more intervention studies highlighting the computational practices and computational perspectives in the regular classroom. They further recommend employing constructionism-based problem-solving learning which entails information processing, scaffolding, and reflection activities to foster the computational practices and computational perspectives.
One study by [2] explored the issues of CT in higher education level. The authors were particularly interested in the issue concerning the application of CT skills outside of STEM fields. From the review, authors concluded that the difference between K-12 and researchoriented domain of higher education resulting in a different approach to incorporate CT in these two environments. Overall, much of the CT work has focused on definitional issues, incorporation of computational thinking in computer science curricula and the infusion of CT strategies into non-computer science disciplines. The game-based learning was found the potential for teaching CT within computer science and the STEM disciplines in higher education. Application of CT is shaped by the different perception of CT terminology and the issues of the non-computable problem, in particular for the fields outside of computer science and non-STEM.
A systematic mapping study carried out by [11] focused on the approaches used to observe and assess the development of CT skills. The mapping results have shown that the vast majority of the studies considered the general problem-solving. Direct programming course came up as the mostly used pedagogical approach using visual programming as the tools to teach CT. The most common skills assessed comprising solving problem, developing algorithms, and applying abstraction. Additionally, researchers have mostly used coding and multi-choice questionnaire for assessing CT. Therefore, concepts such as abstraction, algorithm, decomposition, generalization, and related process are associated with CT. Studies in CT obtained in recent academic literature have shown wide-range of skills.

RESEARCH METHODOLOGY
A huge number of studies have been conducted in CT fields, and one may find different findings. Consequently, seizing a clear overall picture that defines the core idea might be problematic. On the other hand, given the fact of CT importance in 4th IR, one need to have an understanding of well-defined CT concept. Therefore, this study was conducted to uncover the accomplishment in CT studies for high school level, in a decade since CT is sounded as vital skills digital citizen needs to master. For doing so, the following objectives are defined to direct this study, which is to bring forth: The domain of interest of CT studies in high school, the approaches for promoting CT, the CT skills incorporated in high school, the approaches to assessing CT skills, and the tools used for promoting CT.

Data Collection
Subsequent to the definition of the objectives is the process of collecting the publications related to CT for high school (upper secondary) education. The term "Computational Thinking AND (High School OR Secondary Education" came up as the search keywords. Three electronic databases were chosen, they are IEEE, ACM, and SpringerLink. Researcher focused on research articles published in the range of 2007 to 2017.

Papers Screening
The next process to do screening on the articles resulting from data collection (see Figure 1). It starts screening based on some exclusion criteria described below: a) Review article, abstract only, short paper, the chapter of a book, and duplicated articles. b) No access to the full paper. c) Paper published other than in English d) Secondary studies As many as 164 articles were removed after the initial screening. Then, the title screening was conducted. The articles included are the ones containing one of the following the terms 'Computational thinking', 'Computer Science,' 'Computer Science Education,' 'Computing,' 'Programming,' and other computer science related terms. As a result, 189 articles were excluded from the pool. Following the title screening was articles selection based on their abstracts, which removed 190 articles. Lastly, only those that describe the studies in the education context, particularly for high school, are chosen; 184 articles were excluded. Conclusively, the remaining accepted articles from the extraction process are as many as 66 articles.

FINDING AND DISCUSSION
This section elaborates the results of this study. The graph in Figure 1 shows the publication trends of computational thinking. As noted earlier, the time delimit for this study is

Domain of Interest
This study classifies five domain of interest of CT studies, namely theory, curriculum/course, assessment, tools development, and informal program. The term theory refers to the definition of CT concepts, in particular, the skills that describe this computer science-based problem solving, as well as the approaches to teaching CT. The term curriculum/course includes curriculum development, module, and courses offer in regular classrooms. The informal program, otherwise, is the after-school programs for teaching CT. It covers the workshop, boot camps, and outreach activities. Assessment includes studies that intended for measuring CT skills. Tools development refers to the tools created to teach and assess CT skills.
Of the 66 studies identified in this review as the ones targeting high school students, most of the studies focused on distributing CT skill to the students. The graph in Figure 2 shows CT studies include developing curriculum/course (30 studies) and informal program (15 studies) as well. Following curriculum/course and informal program are tools development (15 studies), assessment (6 studies) and theory (3 studies).

Definition of CT for High School
Barr & Stephenson [5] reported a join-hand project, in 2009, by the Computer Science Teachers Association (CSTA) and the International Society for Technology in Education (ISTE). The project aimed at developing an operational definition of CT for K-12. They worked out to formulate the core concept of CT for K-12, which are the abstraction, automation, algorithm, data collection and analysis, programming, test and debug, simulation, innovation and creativity, group problem-solving, and learning strategies. In addition to the aforementioned capabilities, the findings also emphasized on the disposition (attitudes) applicable to CT, including: confidence in dealing with complexity, persistence in working with difficult problems, ability to handle ambiguity, ability to deal with open-ended problems, work with others, and the awareness of one's strengths and weaknesses.
A recent study by [12] recommended a new definition of CT which resulting from the composite of CT and Agile philosophy of Software Engineering domain, called 'Cooperative Thinking' (CooT). CooT is then defined as "the ability to describe, recognize, decompose problems and computationally solve them in teams in a socially sustainable way." Agile's key factor is a team-related skill. Therefore, by merging CT and this Agile principle may enhance the current efforts to establish CT as a fundamental skill. Moreover, the authors also argued that soft-skills would rise in importance in the future. Adding teamwork and soft-skill would be beneficial in solving problems. The authors argued that Agile principles might enhance the current efforts to establish CT.
One study by [13] suggested a model-based thinking approach to teaching CT. It comprises the mental model and computerized model. The mental model is required to analyze and understand phenomena as well as design and construct artifacts, while the computerized model that embeds in computer-based system role as a tool for creating models of phenomena and concepts from the real or imaginary world. However, the authors provided no further reflection on how to practically apply the proposed approach to teaching CT.

Approaches
References Frequency Coding [53], [54], [55], [56], [57], [58], [59], [60], [61], [62] 10 Game-based [63], [64], [ As noted earlier, many studies emphasize coding as the commonly used method for encouraging CT. Nevertheless, no further enlightenment on the problem-solving scenario employed in the coding tasks. Among the examined studies, particularly the ones that concentrate on coding as a method to train CT skills, the motivation was to teach programming to novice users. Such practices may lead impression that CT is indistinguishable from coding. It is contrary to the conception that CT is not computer programming; on the other hand, thinking like a computer scientist that implies more than being able to do programming [68]. Moreover, emphasizing on programming language can distract and lead students to fail in concentrating on what the 'brainy' task is [69]. CT is not necessarily engaging computer programming; otherwise, it should point out the thinking process rather than a product [70]. In order to address this situation, computer science unplugged is introduced as another road to acquiring CT skill. Using unplugged method enables the students to nurture CT skills without the computer. This approach to teaching computing concepts using constructivist activities with the absent of computer, which was established by Tim Bell, has been well-acknowledged both in the regular classroom (see Table 2) and after-school program (see Table 3).

CT Skills for High School Students
The skills promoted to high school students as identified in this study are presented in Table 4, row 'a' for the regular classroom while row 'b' for the informal program. The ones without 'b' field stated the absent CT studies that examined such skill. The skills are varying, and each study employed a different set of skills. However, the algorithmic thinking was found as the most emphasized CT skill, both in the regular classroom and informal program. It can be so because following the findings that coding has been the most popular approach to teach CT. Following the algorithmic thinking are the abstraction, data, modeling, simulation, logical thinking, decomposition, debugging, automation, and generalization. This result highlights the general programming skills.

CT Assessment
Assessment is also a concern in CT skills development. According to Román-gonzález [72], assessment supports the process of merging CT into the curriculum. It is required to measure students' understanding of CT concepts. To measure CT abilities, researchers implemented different types of approaches, as shown in Figure 4. The commonly used CT assessment in high school level is coding (2 studies), multiple choice (2 studies), survey questionnaire (2 studies), and task-based (1 study). The skills assessed is presented in Table 5. In [73], the effect of abstraction thinking level on ones programming understanding was examined. The authors adopted Behavioral Identification Form to measure abstract thinking. A study by [74] proposes a framework for measuring CT in block-based programming environment Alice. The framework was applied to analyze a dataset of performance assessment task from 'Fairy Assessment in Alice,' a programming-based assessment developed by [75], to gain an understanding of students' programming process.
The work in [76] combines two approaches to evaluate students' CT skills. First, the coding approach was applied in a small group whereby the students solve robot programming problem guided by some worksheets. Students' CT skills were evaluated during the coding activity. Second, a questionnaire was administered to asked students to solve programming problems and practice CT skills during their solution process, after attending several training  Task-based seminars. Therefore, the purpose of the questionnaire was indeed to assess students' level of CT skills development. Wang, Huang & Hwang [16] proposed an integrated Scratch and project-based learning to promote CT, as well as a pre-test and post-test aimed at testing the effectiveness of the proposed learning approach. The pre-test was conducted to evaluate students' prior knowledge before the learning activity, while the post-test for evaluating students' learning achievements. Both tests comprise 25 of multi-choice items and multi-select items. Experts in computer science, with a minimum of ten years of experience, developed the test. However, the authors do not reveal how the instrument was developed, and whether it is validated. Snow et al. [77], created a validated instrument that measures the practices of CT. The authors argued that relying on the programming constructs to infer students' knowledge of computer science is not enough. The reason why is the students may use code deprived of understanding what it does. Moreover, it only assesses the conceptual knowledge. Therefore, the authors build the 'Exploring Computer Science,' an instrument comprises a set of scenario represent CT-based problem-solving context. Each scenario has a related set of questions (items) to measure CT practices.

CONCLUSION
The CT studies for high school level have considered several issues, including theoretical, pedagogical, and assessment. Additionally, develop tools for teaching and assessment is another concern in CT studies. However, much of the studies found in this review have focused on the efforts to incorporate CT into the classroom. Coding comes up as the common way to teach CT to high school students, both in the regular classroom and during after-school activities. Coding has also been the leading approach in CT assessment. Furthermore, visual programming transpires as the well-known tools employed in CT studies. Indisputably, this programming environment has made computing education more accessible to a broad range of students, even to those who are a novice. Nevertheless, it is not always clear what problem-solving concepts the students have actually learned through the use of the coding approach. In addition to coding, the unplugged approach has been introduced to promote CT away from a computer. Subsequent to coding, algorithmic thinking was found as leading CT skills taught to the students. Following the algorithmic thinking are the abstraction, data, modeling, simulation, logical thinking, decomposition, debugging, automation, and generalization. Other than this technical knowledge of CT, some studies have acknowledged soft-skills as other essential skills required in CT. Problem-solving, teamwork, communication, collaboration, and persistence were the attitudes found in the examined studies.

SUGGESTION
There still much remains to be done concerning the introduction of CT skill to secondary education pupils.
• Establish studies that consider more on CT assessment. CT might be in its infancy stage; however, assessment is required as a crucial supporting component in promoting CT to the students, and to examine the outcomes of teaching CT. • Build a CT framework that incorporates soft-skills. By considering the necessity of softskills in the future workforces, bringing them together in CT teaching and assessment is a must to equip the students with relevant required skills.