Impact of used programming language for K-12 students' understanding of the loop concept
Abstrak
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.
Artikel Ilmiah Terkait
Valeria Guerrero-Bequis Alejandro Espinal Camilo Vieira
2 Juni 2022
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.
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.
Sverrir Thorgeirsson Z. Su
10 Oktober 2021
Empirical research suggests that programming language syntax is a common impediment for beginners, a concern that is mitigated to a varying degree by visual programming. In this paper, we introduce a novel visual programming language that is founded on program synthesis and the programming-by-demonstration paradigm. By using an intuitive visual syntax, we show how we can meet our primary goal of providing support to computer programming novices in exploring foundational programming concepts. We present the language's current and planned use in computer science education, provide preliminary evidence for its effectiveness, and discuss its future possibilities.
Fionnuala Johnson John O'Donnell Stephen McQuistin
9 Januari 2020
Python has become a popular language for the delivery of introductory programming courses. Two reasons for this are Python's convenience and syntactic simplicity, giving a low entry barrier for beginners and the ability to solve complex problems with short snippets of code. However, students exhibit widespread misconceptions about the meaning of basic language constructs, inhibiting their ability to solve problems and damaging their understanding of fundamental concepts. In this paper, we document our observations of level 1 university students over several years, as well as surveys probing the nature of their misconceptions. We analyze the misconceptions in relation to a notional machine model for Python, and show that many students form inadequate and brittle mental models of the language. Our results indicate that one of the major sources of misunderstanding is the heavy use of overloading in Python. Overloading hides the complexity of algorithms and data structures, often leading students to write code that involves mutability, sharing, copying, side effects, coroutines, concurrency, and lazy evaluation -- and none of those topics are accessible to students who haven't yet mastered basic assignments, conditionals, and looping. We suggest that Python, when taught alone, is insufficient as an introductory language: students can gain a firmer grasp of programming fundamentals when Python is presented alongside a complementary low level language that makes a notional machine clear and explicit.
F. Hermans
1 Agustus 2020
One of the aspects of programming that learners often struggle with is the syntax of programming languages: remembering the right commands to use and combining those into a working program. Prior research demonstrated that students submit source code with syntax errors in 73% of cases and even the best students do so in 50% of cases. An analysis of 37 million compilations by 250.000 students found that the most common error was a syntax error, which occurred in almost 800.000 compilations. It was also found that Java and Perl are not easier to understand than a programming language with randomly generated keywords, stressing the difficulties that novices face in understanding syntax. This paper presents Hedy: a new way of teaching the syntax of a programming language to novices, inspired by educational methods by which punctuation is taught to children. Hedy starts as a simple programming language without any syntactic elements such as brackets, colons or indentation. The rules slowly and gradually change until the novices are programming in Python. Hedy is evaluated on 9714 programs.
Daftar Referensi
0 referensiTidak ada referensi ditemukan.
Artikel yang Mensitasi
0 sitasiTidak ada artikel yang mensitasi.