DOI: 10.1080/08993408.2022.2079867
Terbit pada 2 Juni 2022 Pada Computer Science Education

Student ability and difficulties with transfer from a block-based programming language into other programming languages: a case study in Colombia

Valeria Guerrero-Bequis Alejandro Espinal Camilo Vieira

Abstrak

ABSTRACT Background and context Transfer is a process where students apply their learning to different contexts. This process includes using their knowledge to solve problems with similar complexity, and in new contexts. In the context of programming, transfer also includes being able to understand and use different programming languages. Objective This study explores: (a) student ability to transfer from a block-based programming language into another block-based programming language; (b) student ability to transfer from a block-based programming language to a text-based programming language; (d) student ability to transfer their learning within the same programming language; and (d) the difficulties students had to transfer in these contexts. Method A group of students participating in a program called Coding For Kids explained three different programs in different programming languages during an interview protocol. The students used the programming language MakeCode, and worked on transfer activities in Scratch and Python. Findings The results suggest that while most students are able to transfer between block-based programming languages, most of them struggle to explain a program in a text-based programming language, and to solve a new coding challenge. Implications Instructional designers should consider different strategies to facilitate student transfer into professional programming languages, which is particularly difficult for non-English speakers.

Artikel Ilmiah Terkait

Impact of used programming language for K-12 students' understanding of the loop concept

Žana Žanko Saša Mladenović M. Mladenović

2020

Block-based programming languages are becoming a favourite learning tool for programming novices while the traditional way of teaching programming mostly uses text-based programming languages. The purpose of this study was to compare the impact of used visual and textual programming languages on K-12 students' understanding of the loop concept. Participants were 312 elementary school students from 5th to 8th grade using visual programming language Scratch (n = 59), and textual programming languages Logo (n = 185) and Python (n = 68). Tests for all languages were equivalent, differing only in the used programming language. Results showed that students achieved statistically significant higher scores when using block-based programming language compared to students using textual programming languages. These results show that K-12 students need concrete experience to understand abstract concepts, as the loop concept, which Scratch as a block-based programming language provides.

Novice Reflections During the Transition to a New Programming Language

J. Prather Brett A. Becker Nigel Bosch + 3 lainnya

22 Februari 2022

As computing students progress through their studies they become proficient with multiple programming languages. Prior work investigating language transitions for novices has tended to analyze program artifacts rather than explore the benefits and difficulties as perceived by students in their own words, and has often overlooked problems that may arise in switching paradigms or where familiar syntax has a different meaning in the new language. In this paper, we ask students to reflect on the transition from an interpreted language and environment (MATLAB) to a compiled language (C), prompting comments on the aspects of learning the new language that they found both easier and harder. Analysis of over 70,000 words written by 771 students revealed that the highest-performing students expressed more negative sentiments towards the language transition -- a surprising result that we hypothesize is explained by their generally stronger metacognitive skills. We also report the most common difficulties described by students, which include challenges with syntax, error messages, and the process of compilation, and suggest teaching practices that might help students as they transition to a new programming language.

Here We Go Again: Why Is It Difficult for Developers to Learn Another Programming Language?

Chris Parnin Titus Barik Colton Botta + 1 lainnya

27 Juni 2020

Once a programmer knows one language, they can leverage concepts and knowledge already learned, and easily pick up another programming language. But is that always the case? To understand if programmers have difficulty learning additional programming languages, we conducted an empirical study of Stack Overflow questions across 18 different programming languages. We hypothesized that previous knowledge could potentially interfere with learning a new programming language. From our inspection of 450 Stack Overflow questions, we found 276 instances of interference that occurred due to faulty assumptions originating from knowledge about a different language. To understand why these difficulties occurred, we conducted semi-structured interviews with 16 professional programmers. The interviews revealed that programmers make failed attempts to relate a new programming language with what they already know. Our findings inform design implications for technical authors, toolsmiths, and language designers, such as designing documentation and automated tools that reduce interference, anticipating uncommon language transitions during language design, and welcoming programmers not just into a language, but its entire ecosystem.

The Coding Stages Assessment: development and validation of an instrument for assessing young children’s proficiency in the ScratchJr programming language

M. Bers Laura E. de Ruiter

28 Juli 2021

ABSTRACT Background and Context Despite the increasing implementation of coding in early curricula, there are few valid and reliable assessments of coding abilities for young children. This impedes studying learning outcomes and the development and evaluation of curricula. Objective Developing and validating a new instrument for assessing young children’s proficiency in the programming language ScratchJr, based on the Coding Stages framework. Method We used an iterative, design-based research approach to develop the Coding Stages Assessment (CSA), a one-on-one assessment capturing children’s technical skills and expressivity. We tested 118 five-to-eight-year-olds and used Classical Test Theory and Item Response Theory to evaluate the assessment’s psychometric properties. Findings The CSA has good to very good reliability. CSA scores were correlated with computational thinking ability, demonstrating construct validity. The items have good discrimination levels, and a variety of difficulty levels to capture different proficiency levels. Younger children tended to have lower scores, but even first graders can achieve the highest coding stage. There was no evidence of gender or age bias. Implications The CSA allows testing learning theories and curricula, which supports the implementation of Computer Science as a school subject. The successful remote administration demonstrates that it can be used without geographical restrictions.

Development of a Programming Course for Students of a Teacher Training Higher Education Institution Using the Programming Language Python

T. Tretyakova M. Sorochinsky Mikhail S. Prokopyev + 2 lainnya

15 Maret 2020

At present, teaching programming to future teachers is superficial or is excluded from computer science curricular. Only programming fundamentals are taught during computer studies, and skills acquired during the training are not applied in practice. The aims of this article are 1) to develop a programming course for teacher training disciplines that are taught in training units of the Ammosov North-Eastern Federal University (NEFU), and 2) give recommendations to apply features of the programming language Python in the professional activities of future teachers. This work applies the iterative methodological approach to undertake the study in various groups of students of NEFU from 2016 to 2019. Quantitative and objective indicators are used. Results show which modules of Python are the most appropriate for students to study for their future professional teaching activities. The training course "Use of the language Python by future teachers" is developed, and will be taught in all training units of the university, that have teacher training disciplines. The article determines a direction of future research related to teaching programming, which is important for all computer studies.

Daftar Referensi

0 referensi

Tidak ada referensi ditemukan.

Artikel yang Mensitasi

0 sitasi

Tidak ada artikel yang mensitasi.