Understanding students’ abstractions in block-based programming environments: A performance based evaluation

https://doi.org/10.1016/j.tsc.2021.100888Get rights and content

Highlights

  • The study examined the effect of using block-based coding environments on enhancing secondary school students’ abstraction skills.

  • A rubric was created to reveal the students’ abstraction performances.

  • The students performed high in elimination, focusing and generalization; however, students’ performances were relatively low in customization.

  • The nature of the problems, affordances of block-based programming environments and coding constructs were the factors affected the abstraction process.

Abstract

Providing computational problems for enhancing students’ abstraction skills and monitoring how students make abstractions is difficult in block-based programming environments (BBPEs). Thus, concrete examples and principles are needed to guide computer science teachers about understanding and enhancing students’ abstractions. This study aims to examine the effect of using block-based coding environments on enhancing secondary school students’ abstraction skills. Referring to the programming knowledge, a rubric was created to analyze the data from screen recordings, observation and interviews were used together to reveal the students’ abstraction performances. The results suggested that students performed high in elimination, focusing and generalization; however, students’ performances were relatively low in customization. Students’ explanations were mostly related the nature of the problems, affordances of BBPE and the programming constructs used in coding. We hope the study will provide insights for the efforts on instructional designs for successful abstraction experiences for young students.

Introduction

Teaching computational thinking (CT) to young audience is a highly debated issue and gained considerable interest among policymakers for introducing computer science in secondary school settings. Wing (2011) described CT as a high level skill that everyone should have such as reading, writing and basic mathematics. Various conceptualizations of CT were taken into consideration including algorithmic thinking, logical inquiry as well as strategies that involve problem solving strategies such as abstraction, decomposition, generalization, and collaboration (Apostolellis, Stewart, Frisina, & Kafura, 2014; Basawapatna, Repenning, Koh, & Savignano, 2014; Kalelioğlu, Gülbahar, & Kukul, 2016; Lee et al., 2011; Wing, 2008). Table 1 presents various definitions of CT with regard to the skills included in it.

Table 1 indicates that the most common skills in the CT conceptualizations are abstraction, algorithm thinking, automation, data collection, data analysis, data presentation, parsing, simultaneous work, pattern recognition, pattern generalization and modeling.

Algorithmic thinking is determining the processes to find the solution by showing them step by step in a problem. Automation can be considered as a labor-saving process where a digital system is used to perform a series of repetitive tasks quickly and efficiently (Lee et al., 2011). Pattern recognition explains the sequence of repetitive operations, observing patterns, and repetitive patterns in the data. Generalization is a way to solve new problems quickly based on previous solution experiences (Csizmadia et al., 2015). Decomposition is extracting a component consisting of complex or multiple structures. One leading skill in CT is abstraction which is considered as a fundamental skill for computer scientists. Abstraction is defined as ignoring less important situations by focusing on the features required to find the desired properties (CSTA, 2016). When defining CT, referring to thinking like a computer scientist (Wing, 2006) includes ability of doing abstraction. It is considered to purify from all situations except the property sought in an event or object (Gülbahar, Kert, & Kalelioğlu, 2019).

Gibson (2012) argued that high school is too late for exposing students to abstraction for the first time. In this sense, researchers argued that teaching abstraction in the computational context to young students, whose abilities of abstraction are not fully developed (Piaget, 1983), is a challenging tasks. However, teaching and learning abstraction is considered as challenging. This difficulty comes from the nature of abstraction that it is viewed as a fundamental idea (Armoni & Gal-Ezer, 2014).

Some efforts were provided to suggest various ways to teach abstraction to enhance students’ abstraction skills (Bucci, Long, & Weide, 2001; Çınar & Tüzün, 2020; Kramer, 2007). For example, Çınar and Tüzün (2020) in their study addressed that educational robot programming is as effective as traditional programming activities to result in positive outcomes in terms of abstraction. Similarly, Yesharim and Ben-Ari (2017) found that abstraction in simple algorithmic ideas and program design can be taught by using robots. On the other hand, use of BBPEs as a platform for teaching abstraction as a sub-skill of CT has become very prevalent.Given the importance of abstraction, teachers incorporate BBPEs into their lessons to enhance students’ abstraction skills. In this sense, evaluating the power of these environments in terms of abstraction may provide valuable insights for educators. Thus, investigating how BBPEs affect students’ abstraction skills may suggest some principles for instructional designers to design and use these environments better in the computer science courses.

Section snippets

Abstraction in block-based coding environments

CSTA (2016) defines abstraction as ignoring other situations by focusing on the necessary features to find the desired properties. According to Barr and Stephenson (2011), abstraction involves generalizing and transferring the problem solving process to similar problems. These definitions include focusing, elimination, generalization and customization as the sub-skills of abstraction. Abstraction in particular involves mental processes and directly affects students’ problem-solving skills (

Aim of the study

Since providing problems for abstraction is difficult, the studies focusing directly on abstraction in BBPE is still scarce. On the other hand, in CT studies, it is difficult to monitor and measure the development of abstraction skill by distinguishing it from other CT skills. Measuring abstraction requires determining the expected situations of abstraction in coding environments. Suggesting data collection tools to measure the abstraction skills may help educators check for the development of

Method

This study was carried out as an explanatory case study. The study explains the causal links in situations that are too complicated to investigate experimentally (Yin, 2003). Since explanatory case studies examine the data in order to explain the phenomena in the data; in this study, the role of the tasks to develop students’ abstraction skills in the Mobil Kod is explained through the qualitative data collection tools. Students’ behavior patterns were also examined in an effort to develop

Analysis

Based on the indicators of abstraction highlighted in the literature, the following indicators of the abstraction in the block-based coding environment were extracted and the analysis was formulated through the rubric based on these indicators.

Focusing: Focusing on the information needed to solve a problem (CSTA, 2016),

Elimination: Excluding information that is not necessary for the solution of a problem (CSTA, 2016),

Generalization: Generalizing to use the solutions used at certain stages of a

Results

Results from observations were taken as a basis in order to reveal the students’ abstraction performances.

Students’ evaluations about their abstractions

Open-ended questions were asked to the students in the interviews to explain their cognitive processes and abstraction skills in Mobil Kod on their abstractions. For instance, regarding the tasks in the Activity1, S5 stated that “I used the go forward block twice to achieve the goal, then, I had to turn left and I turned left with the turn left block, once I reached the goal using the go forward block”. In the similar activity, S6 expressed that “In the fourth part, my task was to reach the

Discussion

Armoni (2013) highlighted that abstraction is an inherent component of CT that is encapsulated during the process of thinking about and automating a solution to a problem. Various approaches were implemented to enhance students’ abstraction skills. For example, Perrenet & Kaasenbrood (2006) studied the abstraction skills of CS undergraduate students regarding the concept of an algorithm showed that they avoided the use of algorithms, and even alienated themselves from the concept of an

Conclusion and implementations

This study examined the students’ abstractions in a block-based programming environment. The results indicated that 5th grade students’ abstraction performances were from high performance to low as elimination, focusing, generalization and customization, respectively. Generally, students were able to ignore unnecessary information in these activities in the context of elimination. Although students experienced difficulties in some activities, mostly they could achieve the goals at an acceptable

CRediT authorship contribution statement

Ünal Çakıroğlu: Conceptualization, Methodology, Supervision, Writing - review & editing. İsak Çevik: Data curation, Writing - original draft. Engin Köşeli: Investigation, Visualization. Merve Aydın: Investigation, Visualization.

Ünal ÇAKIROĞLU, PhD, is a professor at Trabzon University. His-academic specialty is computer science education, instructional technologies, teaching programming and robotics, and his research interests include online technologies, social networking in education, learning analytics, technology integration.

References (63)

  • M. Armoni

    On teaching abstraction in CS to novices

    Journal of Computers in Mathematics and Science Teaching

    (2013)
  • M. Armoni et al.

    Early computing education: Why? What? When? Who?

    ACM Inroads

    (2014)
  • V. Barr et al.

    Bringing computational thinking to K-12: What is Involved and what is the role of the computer science education community?

    Acm Inroads

    (2011)
  • A.R. Basawapatna et al.

    The consume-create spectrum: Balancing convenience and computational thinking in stem learning

  • P. Bucci et al.

    Do we really teach abstraction?

    ACM Sigcse Bulletin

    (2001)
  • Ü. Çakıroğlu et al.

    Focus-fight-finalize (3F): Problem-solving steps extracted from behavioral patterns in block based programming

    Journal of Educational Computing Research

    (2020)
  • I. Çetin

    Preservice teachers’ introduction to computing: Exploring utilization of scratch

    Journal of Educational Computing Research

    (2016)
  • M. Çınar et al.

    Comparison of object-oriented and robot programming activities: The effects of programming modality on student achievement, abstraction, problem solving, and motivation

    Journal of Computer Assisted Learning

    (2020)
  • T. Colburn et al.

    Abstraction in computer science

    Minds and Machines

    (2007)
  • C.T. Cook et al.

    A systematic approach to teaching abstraction and mathematical modeling

  • A. Csizmadia, P. Curzon, M. Dorling, S. Humphreys, T. Ng, C. Selby et al. (2015). Computational thinking-A guide for...
  • CSTA (2016). CSTA K-12 computer science standards...
  • B.C. Czerkawski et al.

    Exploring issues about computational thinking in higher education

    TechTrends

    (2015)
  • J. Denner et al.

    Measuring computational thinking in middle school using game programming

  • K. Devlin

    Why universities require computer science students to take math

    Communications of the ACM

    (2003)
  • X. Fang

    Application of the participatory method to the computer fundamentals course

  • A. Gautam et al.

    Abstraction through multiple representations in an integrated computational thinking environment

  • J.P. Gibson

    Teaching graph algorithms to children of all ages

  • S. Grover et al.

    Computational thinking in K–12: A review of the state of the field

    Educational Researcher

    (2013)
  • S. Grover et al.

    Designing for deeper learning in a blended computer science course for middle school students

    Computer Science Education

    (2015)
  • Y. Gülbahar et al.

    Self-efficacy perception scale for computational thinking skill: Validity and reliability study

    Turkish Journal of Computer and Mathematics Education

    (2019)
  • Cited by (0)

    Ünal ÇAKIROĞLU, PhD, is a professor at Trabzon University. His-academic specialty is computer science education, instructional technologies, teaching programming and robotics, and his research interests include online technologies, social networking in education, learning analytics, technology integration.

    İsak ÇEVİK, PhD candidate is a lecturer at Agri University. His-academic specialty is instructional technologies, teaching programming, and his research interests include online technologies, computational thinking, block-based programming.

    Engin KÖŞELİ, is a computer science teacher at MoNE. His-academic specialty is teaching information technologies, programming, and his research interests include computational thinking, block-based programming.

    Merve Aydın, PhD candidate is a lecturer at Trabzon University. Her academic specialty is distance education, virtual reality, augmented reality and teaching programming, her research interests include technology integration.

    View full text