Identifying Characteristics of Block-Based Programming Languages Supporting Children in Learning Robotics Programming
Total Page:16
File Type:pdf, Size:1020Kb
Identifying Characteristics of Block-Based Programming Languages Supporting Children in Learning Robotics Programming Jan Willem David Alderliesten [email protected] Cas Buijs Floris Doolaard [email protected] [email protected] Arthur Guijt Lars Stegman [email protected] [email protected] Jesse Tilro [email protected] Abstract Block-Based Programming Languages are a different approach to teaching children robotics programming. Studies analyzing these languages have shown them to be an effective means to this end. Nevertheless, few studies have been able to address concrete characteristics that are defining the effectiveness of these block-based programming languages. In this literature review we analyze other studies revolving around block-based programming languages and their applications for teaching robotics programming to children. This paper identifies five different characteristics of block-based programming languages that support children when learning robotics programming: providing a tangible user interface, enforcing constraints on block shapes to prevent syntactic errors, age selectivity for either a drag-and-drop or point-and-click interaction style, viewing multiple visual representations of a program, and guaranteeing age appropriate content. It is concluded that there are problems in teaching robotics programming to children that are currently not solved by block-based programming languages, suggesting a direction for future research on this topic. Keywords. - Block-based programming language, programming, educational, robots, programming language characteristics, children, literature study. 1 Introduction Block-based programming languages (BBPLs) have been utilized for robotics programming since their inception, and multiple BBPLs have been focused on finding an accessible manner of teaching children robotics programming. This paper aims to identify aspects of both the block-based programming field and robotics-based block-based programming which assist in the educational development of children. 1 1.1 Importance of Teaching Children Programming In a description regarding the relevance of BBPLs, Bers et al. make the claim that coding (programming) is akin to a new literacy [50]. With the increasing impact technology has upon the lives of children and the occupations they will fill, the ability to navigate, understand, and knowing how to program computational systems will be an expected core qualification. By introducing the skill of programming to a child at a young age, the interest in the field can be started and the probability of a child entering the field of programming can be increased. This trend was found by the Information Technology and Information Foundation when comparing the Advanced Placement test scores of children who were exposed to computer science concepts at an early age versus those who were not exposed at an early age [40]. This provides them with new career opportunities and a skill set that makes a child more useful within the future occupational field. Apart from generating an interest in the field of engineering, learning computer programming at an early age seems have other, more generally applicable, significant benefits. For example, professor Marina Bers from Tufts University has done a number of studies establishing the fact that learning to program assists children in developing sequential thinking: a component of planning involving putting objects or actions in the correct order [32, 33, 51]. Furthermore, studies have shown that computer programming for children positively affects the development of a range of various cognitive skills, like reflectivity and divergent thinking [10]. In general, learning computer programming, especially for applications like robotics and BBPLs, is shown to contribute to developing a specific form of thinking often called "computational thinking" [2, 5, 7, 37, 42, 54]. 1.2 Block-Based Programming Languages Block-based programming languages present a specific subset paradigm within the programming community, due to their focus on visual display of computer logic to create a computer program. Traditional programming languages focus on efficient and optimized means of developing a program, including through the means of programming paradigms involving practices such as singletons, extensions, and a hierarchy-based architecture. Alternative functional programming languages focus on recursive methods to efficiently calculate and solve problems. BBPLs place a significantly major focus on providing an ordered and visual flow to solve a problem. This allows greater accessibility to those not familiar with programming concepts or language behavior, and opens up the development field to a greater audience. BBPLs also provide an effective way for children to discover programming, as sequential consequences and ordering presented within BBPLs are graspable concepts for young children, and it matches the line of reasoning they are taught within basic arithmetic [23]. This makes BBPLs 'suitable for early programming education' utilization. This therefore provides a unique aspect to BBPLs which warrants their study. 1.3 Robotics Programming When teaching children educational concepts, the rate of understanding is increased when a tangible and visible aspect is added to the process [3]. This visible aspect not only relates to the BBPLs themselves, but also to the object upon which they have an effect. A robot provides a tangible and interacting interface which allows a child to view the effects of their work, but to also validate the desired sequential behavior with their program. An analysis revealed that while traditional programming exercises suffer from a level of impersonal interaction, a robot introduces both interaction and a set of problems that are not usually found at a software level [15], such as the inability to terminate during execution. 2 Consider a robot moving across a simple Cartesian plane. The transformations required are among the x- and y-coordinates, meaning the robot can move to the left, the right, up, and down. A child is able to grasp these concepts and see the results of their implementation by verifying that the behavior of the robot matches their intentions. The robot also allows the verification with interactive and physical objects located in the real world, as opposed to verification by a movement of a sprite on a screen. A final contributing factor to the relevance of robots arises due to the history of BBPLs. BBPLs such as the Lego MINDSTORMS language include support for robotics and its applications, meaning the field could be considered to be entangled with these languages [31]. Another contributor to this history is that, when excluding robots from BBPL research, one will inevitably make a continuous link with possible applications to robotics due to the nature and logic of robots, which is supported by BBPLs [31]. 1.4 Target Audience The target audience for this paper involves contributors and creators of BBPLs with a focus on educational robotics fields. This paper specifically focuses on characteristics which contribute to the success and usability of BBPLs to ensure the retention of concepts and understanding within the intended target audience. This paper can also be utilized by educators within the field of early development and schooling to analyze which BBPLs could assist in the implementation of an educational program. The literature analysis focused on a target audience of children within elementary education, usually between ages four and sixteen. This target audience had little to no exposure with textual programming languages or BBPLs, and was at a level which allowed them to grasp the concept of sequentially ordered operations (on both a mathematical and logical level) [31]. 1.5 Research Question The question that this literature review aims to answer is the following: What characteristics of block-based programming languages support children when learning robotics programming? 2 Methodology The research methodology for this paper involved the aggregation of papers through a literature review, followed by a subsequent review of all papers in the form of a literature study to identify keywords that are related to characteristics of block-based programming languages. The aggregation of papers was performed based on the keywords given, which are "block-based language," "block- based programming language," "programming," "educational," "robots," "properties," and "children." This aggregated search was performed utilizing academic and industry databases, such as SCOPUS and the IEEE database, as well as open access databases and aggregators, such as Scholar and Researchgate. Papers which matched, or matched upon a variation of, the given keywords were placed within a database and stored. The analysis of the papers was based on a set of criteria. These criteria included, but were not limited to, the amount of citations, the analysis that paper had in relevance to early-development robotic programming, the clarity of the characteristics, and overall usefulness of the paper. A 3 complete overview of the block-based criterion are found in section 3. After the papers were filtered based on their usefulness to the identification of relevant block-based characteristics, they were comparatively analysed based on their usefulness to the educational aspect of BBPLs. If a paper provided a clear set of characteristics for BBPLs and investigated