Understanding students’ abstractions in block-based programming environments: A performance based evaluation
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)
- et al.
The development of students’ computational thinking practices in elementary-and middle-school classes using the learning game, Zoombinis
Computers in Human Behavior
(2021) - et al.
Advancing students’ computational thinking skills through educational robotics: A study on age and gender relevant differences
Robotics and Autonomous Systems
(2016) - et al.
The effect of robotic coding education on preschoolers’ problem solving and creative thinking skills
Thinking Skills and Creativity
(2021) - et al.
Supporting all learners in school-wide computational thinking: A cross-case qualitative analysis
Computers & Education
(2015) - et al.
A validity and reliability study of the computational thinking scales (CTS)
Computers in Human Behavior
(2017) - et al.
Modeling programming performance: Beyond the influence of learner characteristics
Computers & Education
(2011) - et al.
Assessment of programming language learning based on peer code review model: Implementation and experience report
Computers & Education
(2012) Ubiquity symposium: Computation and computational thinking
Ubiquity
(2011)- et al.
A K-6 computational thinking curriculum framework-implications for teacher knowledge
Educational Technology & Society
(2016) - et al.
RaBit EscAPE: A board game for computational thinking
On teaching abstraction in CS to novices
Journal of Computers in Mathematics and Science Teaching
Early computing education: Why? What? When? Who?
ACM Inroads
Bringing computational thinking to K-12: What is Involved and what is the role of the computer science education community?
Acm Inroads
The consume-create spectrum: Balancing convenience and computational thinking in stem learning
Do we really teach abstraction?
ACM Sigcse Bulletin
Focus-fight-finalize (3F): Problem-solving steps extracted from behavioral patterns in block based programming
Journal of Educational Computing Research
Preservice teachers’ introduction to computing: Exploring utilization of scratch
Journal of Educational Computing Research
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
Abstraction in computer science
Minds and Machines
A systematic approach to teaching abstraction and mathematical modeling
Exploring issues about computational thinking in higher education
TechTrends
Measuring computational thinking in middle school using game programming
Why universities require computer science students to take math
Communications of the ACM
Application of the participatory method to the computer fundamentals course
Abstraction through multiple representations in an integrated computational thinking environment
Teaching graph algorithms to children of all ages
Computational thinking in K–12: A review of the state of the field
Educational Researcher
Designing for deeper learning in a blended computer science course for middle school students
Computer Science Education
Self-efficacy perception scale for computational thinking skill: Validity and reliability study
Turkish Journal of Computer and Mathematics Education
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.