11 research outputs found
Comparison of visual programming and hybrid programming environments in transferring programming skills
Teaching students programming skills at an early age is one of the most important aspects for researchers in recent decades. It may seem more practical to leverage an existing reservoir of knowledge by extending the block-based environment; which uses blocks to build apps towards text-based. Text-based is text code only, rather than starting to learn a whole new programming language [7]. To simplify the learning process, there is a new coding environment that’s been introduced named block-based environment (Pencil Code, Scratch, App inventor) that is used by millions of students.
There are some challenges teachers are facing to bring the text-based environment to the classroom. One is block-based tools do not allow students to write real-world programs [1], which limit the student’s abilities to writing only simple programs. Also, there is a big gap between the block and text-based environments. When students want to transfer from block-based to text-based, they feel that they are in a totally new environment [1]. Since block-code transition involves movement between different code styles and code representations with different syntax [7]. They move from commands with nice shapes and colors to new environments with only commands, also they have to memorize all the commands and learn the programming syntax.
We want to bridge the gap between the block-based and text-based by developing a new environment named hybrid-based, that allows the student to drag and drop block code and see real code instead of seeing it blocks only.
The study was done on 18 students, by dividing them into two groups. One group used block-based, and another group used hybrid-based, then both groups learned to write code with text-based. We found that hybrid-based environments are better than block-based environments in transferring programming skills to text-based because hybrid-based enhances the students’ abilities to learn programming foundations, code modification, memorizing commands, and syntax error comparison with block-based. Also hybrid-based reduces the learning shock [37] that students feel when they learn programming with block-based then they move to text-based because students who are using hybrid-based development environment are interacting directly with code, while block-based groups have never seen the code before
Comparison of Block-Based and Hybrid-Based Environments in Transferring Programming Skills to Text-based Environments
Teachers face several challenges when presenting fundamental concepts of programming in the classroom. Several tools are introduced to give a visual dimension to support the learning process. They rely on code blocks, easily manipulated in a plug and play fashion, to build a program. These block-based tools intend to familiarize students with programming logic, before diving into text-based programming languages such as Java, Python, etc. However; when transitioning from block-based to text-based programming, students often encounter a gap in their learning. The student may not be able to apply block-based foundations in a text-based environment. To bridge the gap between both environments, we developed a hybrid-based learning approach. We found that on average a hybrid-based approach increases the students understanding of programming foundations, memorization, and ease of transition by more than 30% when compared to a block-based to text-based learning approach. Finally, we provide the community with an open source, hybrid-based learning tool that can be used by students when learning programming concepts or for future studies
Refactoring Practices in the Context of Modern Code Review: An Industrial Case Study at Xerox
Modern code review is a common and essential 2 practice employed in both industrial and open-source projects 3 to improve software quality, share knowledge, and ensure con4 formance with coding standards. During code review, developers 5 may inspect and discuss various changes including refactoring 6 activities before merging code changes in the code base. To date, 7 code review has been extensively studied to explore its general 8 challenges, best practices and outcomes, and socio-technical 9 aspects. However, little is known about how refactoring activities 10 are being reviewed, perceived, and practiced. 11 This study aims to reveal insights into how reviewers develop 12 a decision about accepting or rejecting a submitted refactoring 13 request, and what makes such review challenging. We present an 14 industrial case study with 24 professional developers at Xerox. 15 Particularly, we study the motivations, documentation practices, 16 challenges, verification, and implications of refactoring activities 17 during code review. 18 Our study delivers several important findings. Our results 19 report the lack of a proper procedure to follow by developers 20 when documenting their refactorings for review. Our survey 21 with reviewers has also revealed several difficulties related to 22 understanding the refactoring intent and implications on the 23 functional and non-functional aspects of the software. In light of 24 our findings, we recommended a procedure to properly document 25 refactoring activities, as part of our survey feedback
Big Data: Learning, Analytics, and Applications
With the rise of autonomous systems, the automation of faults detection and localization becomes critical to their reliability. An automated strategy that can provide a ranked list of faulty modules or files with respect to how likely they contain the root cause of the problem would help in the automation bug localization. Learning from the history if previously located bugs in general, and extracting the dependencies between these bugs in particular, helps in building models to accurately localize any potentially detected bugs. In this study, we propose a novel fault localization solution based on a learning-to-rank strategy, using the history of previously localized bugs and their dependencies as features, to rank files in terms of their likelihood of being a root cause of a bug. The evaluation of our approach has shown its efficiency in localizing dependent bugs
Dual Inversion Recovery Magnetic Resonance Imaging's Diagnostic Value for Estimating the Overall Load of Multiple Sclerosis Lesions and its Anatomical Distribution
B
Background: In young adults, multiple sclerosis is a prevalent chronic inflammatory demyelinating condition. It is characterized by white matter affection, but many individuals also have significant gray matter involvement. A double inversion recovery pulse pattern was recently proposed to improve the detectability of multiple sclerosis lesions.
Objectives: To evaluate the diagnostic value of double inversion recovery sequence in the detection of cortical and white matter multiple sclerosis plaques in different brain anatomical locations.
Subjects and methods: A total of 37 patients with an established diagnosis of multiple sclerosis were included in this cross-sectional study. Brain MRI was done using double inversion recovery, T2 and FLAIR sequences. The number of lesions was counted and compared in the three sequences.
Results: Dual Inversion Recovery sequence was highly significant and superior to both T2 and FLAIR sequences (P < 0.001) in depicting the lesions regardless of anatomical distribution. Dual Inversion Recovery was significantly superior to T2 (P =<0.001) and FLAIR (P =<0.001) in detecting lesions in cortical and juxtacortical. However, Dual Inversion Recovery shows less periventricular and deep white matter lesions in comparison to T2 and FLAIR sequences.
Conclusion: The Dual Inversion Recovery sequence detected more multiple sclerosis lesions in cortical, subcortical and infratentorial than the traditional T2W and FLAIR sequences. It also demonstrated greater delineation between the white matter, grey matter, and multiple sclerosis lesions, which became more easily visualized
Hardness Removal by A Continuous Flow Electrochemical Reactor from Different Types of Water
The present study focuses on the technique of hardness removal by using a novel reactor performing an electrocoagulation (EC) process. The variation of alkalinity is also recorded. Continuous flow experiments were conducted for Total Hardness (TH) removal using a transparent plastic reactor using aluminum plate electrodes that have holes so that the water flows through the plates in a zigzag way. The influence of various operating parameters such as the number of plates (two and four), flow rate (600, 1000 L/h), and water type (Tigris River & rejected water from Reverse Osmosis system RO) was investigated. The results showed that an increase in the number of electrodes led to an increase in the total hardness removal efficiency. In addition, the increase in the flow rate led to a decrease in the removal efficiency. For the rejected RO water type, the highest hardness removal rate was 16.16% for 4 plates electrodes and 600 L/h flow rate while for the river water was 29% for 4 plates electrodes and 1000 L/h