scholarly journals Comparison of flow-based versus block-based programming for naive programmers

2021 ◽  
Author(s):  
Kruti Dave

There is general agreement that most people should have some programming ability, whether to investigate the vast amount of data around them or for professional purposes. Visual Programming Languages comprise two broad categories: Flow-based, functional programming or Block-based, imperative programming. However, there has been a lack of empirical studies in the visual programming domain to evaluate the relative benefits of the two categories. This research provides an empirical study to analyze the effects of the comparison between Flowbased and Block-based paradigm, to determine which of the two representations is easier for non-programmers or novice programmers. Each user is given a random, simple problem to program in a random environment. Both of the environments, Flow-based and Block-based are designed to be as similar as possible to make the comparison useful. The results indicate that Flow and Block are equivalent environments for non-programmers or novice programmers in terms of usability and effectiveness.

2021 ◽  
Author(s):  
Kruti Dave

There is general agreement that most people should have some programming ability, whether to investigate the vast amount of data around them or for professional purposes. Visual Programming Languages comprise two broad categories: Flow-based, functional programming or Block-based, imperative programming. However, there has been a lack of empirical studies in the visual programming domain to evaluate the relative benefits of the two categories. This research provides an empirical study to analyze the effects of the comparison between Flowbased and Block-based paradigm, to determine which of the two representations is easier for non-programmers or novice programmers. Each user is given a random, simple problem to program in a random environment. Both of the environments, Flow-based and Block-based are designed to be as similar as possible to make the comparison useful. The results indicate that Flow and Block are equivalent environments for non-programmers or novice programmers in terms of usability and effectiveness.


Author(s):  
Serife Nur Yildiz ◽  
Alev Ates Cobanoglu ◽  
Tarik Kisla

Scratch which is one of the block-based software for facilitating programming teaching is commonly used for beginners of learning programming. However, there is a lack of studies about the perceptions of information and communication technologies (ICT) teachers regarding the contributions of this visual programming language. Therefore, this study deals with developing a scale for measuring ICT teachers’ perceptions based on unified theory of acceptance and use of technology (UTAUT) about Scratch’s contributions in teaching programming. The sample of the study includes 265 ICT teachers from Turkish Ministry of National Education (MoNE) secondary schools who used Scratch software in their courses. According to exploratory and confirmatory factor analyses results, final version for perceptions scale of ICT teachers regarding the contributions of block-based visual programming language (Scratch) includes 28 items. The Cronbach Alpha coefficient is 0.97. This scale can help the practitioners who aims at understanding the contributions of Scratch and the other block-based visual programming languages from ICT teachers’ perspective; the researchers who wish to investigate this contribution according to various variables and the decision-makers of using Scratch in programming instruction programs.  


2020 ◽  
Vol 58 (8) ◽  
pp. 1467-1493
Author(s):  
Yue Hu ◽  
Cheng-Huan Chen ◽  
Chien-Yuan Su

Block-based visual programming tools, such as Scratch, Alice, and MIT App Inventor, provide an intuitive and easy-to-use editing interface through which to promote programming learning for novice students of various ages. However, very little attention has been paid to investigating these tools’ overall effects on students’ academic achievement and the study features that may moderate the effects of block-based visual programming from a comprehensive perspective. Thus, the present study carried out a meta-analysis to systemically examine 29 empirical studies (extracting 34 effect sizes) using experimental or quasi-experiments involving the programming learning effects of employing block-based visual programming tools to date (until the end of 2019). The results showed a small to medium significant positive overall mean effect size (fixed-effect model g = 0.37; random-effects model g = 0.47) of the use of these block-based visual programming tools with respect to students’ academic achievement. Furthermore, the overall mean effect size was significantly affected by the educational stage, programming tool used, experimental treatment, and school location. Discussions and implications based on the findings are provided.


2014 ◽  
Vol 5 (2) ◽  
pp. 778-789
Author(s):  
Hassan Nouri Al-Obaidi ◽  
Ali A. Rashead Al-Azawy

Current research presents a visual-computational tool to design and investigate round electrostatic lenses in sense of analysis procedure. The finite elements methods is adopted to find the electrostatic potential in the lens region. Laplace’s equation is first replaced by a certain functional which physically represent the electric energy stored in the electric field. This functional is then minimized at each mesh point with respect to the nearest eight ones. This minimization process is proved to be entirely equivalent to solving Laplace’s equation. The requirement that the functional being minimized is then yields a set of nine point equations which inter relate the potentials at adjacent mesh points. Finally this set of equations is solved to find the electrostatic potential at each mesh point in the region of the lens under consideration. The procedure steps mention above are coded to program written in visual basic. Hence an interface tool for analyzing and designing electrostatic lenses has been built up. Designing results proved that the introduced tools has an excellent outputs in comparison with the others written in not visual programming languages. Furthermore it easier for researchers and designer to use such a tool over their counterpart ones.


Author(s):  
Amandeep Kaur ◽  
Sushma Jain ◽  
Shivani Goel ◽  
Gaurav Dhiman

Context: Code smells are symptoms, that something may be wrong in software systems that can cause complications in maintaining software quality. In literature, there exists many code smells and their identification is far from trivial. Thus, several techniques have also been proposed to automate code smell detection in order to improve software quality. Objective: This paper presents an up-to-date review of simple and hybrid machine learning based code smell detection techniques and tools. Methods: We collected all the relevant research published in this field till 2020. We extracted the data from those articles and classified them into two major categories. In addition, we compared the selected studies based on several aspects like, code smells, machine learning techniques, datasets, programming languages used by datasets, dataset size, evaluation approach, and statistical testing. Results: Majority of empirical studies have proposed machine- learning based code smell detection tools. Support vector machine and decision tree algorithms are frequently used by the researchers. Along with this, a major proportion of research is conducted on Open Source Softwares (OSS) such as, Xerces, Gantt Project and ArgoUml. Furthermore, researchers paid more attention towards Feature Envy and Long Method code smells. Conclusion: We identified several areas of open research like, need of code smell detection techniques using hybrid approaches, need of validation employing industrial datasets, etc.


Author(s):  
Norihiro Yamada ◽  
Samson Abramsky

Abstract The present work achieves a mathematical, in particular syntax-independent, formulation of dynamics and intensionality of computation in terms of games and strategies. Specifically, we give game semantics of a higher-order programming language that distinguishes programmes with the same value yet different algorithms (or intensionality) and the hiding operation on strategies that precisely corresponds to the (small-step) operational semantics (or dynamics) of the language. Categorically, our games and strategies give rise to a cartesian closed bicategory, and our game semantics forms an instance of a bicategorical generalisation of the standard interpretation of functional programming languages in cartesian closed categories. This work is intended to be a step towards a mathematical foundation of intensional and dynamic aspects of logic and computation; it should be applicable to a wide range of logics and computations.


2021 ◽  
Vol 26 (6) ◽  
Author(s):  
Pooja Rani ◽  
Sebastiano Panichella ◽  
Manuel Leuenberger ◽  
Mohammad Ghafari ◽  
Oscar Nierstrasz

Abstract Context Previous studies have characterized code comments in various programming languages, showing how high quality of code comments is crucial to support program comprehension activities, and to improve the effectiveness of maintenance tasks. However, very few studies have focused on understanding developer practices to write comments. None of them has compared such developer practices to the standard comment guidelines to study the extent to which developers follow the guidelines. Objective Therefore, our goal is to investigate developer commenting practices and compare them to the comment guidelines. Method This paper reports the first empirical study investigating commenting practices in Pharo Smalltalk. First, we analyze class comment evolution over seven Pharo versions. Then, we quantitatively and qualitatively investigate the information types embedded in class comments. Finally, we study the adherence of developer commenting practices to the official class comment template over Pharo versions. Results Our results show that there is a rapid increase in class comments in the initial three Pharo versions, while in subsequent versions developers added comments to both new and old classes, thus maintaining a similar code to comment ratio. We furthermore found three times as many information types in class comments as those suggested by the template. However, the information types suggested by the template tend to be present more often than other types of information. Additionally, we find that a substantial proportion of comments follow the writing style of the template in writing these information types, but they are written and formatted in a non-uniform way. Conclusion The results suggest the need to standardize the commenting guidelines for formatting the text, and to provide headers for the different information types to ensure a consistent style and to identify the information easily. Given the importance of high-quality code comments, we draw numerous implications for developers and researchers to improve the support for comment quality assessment tools.


Sign in / Sign up

Export Citation Format

Share Document