154 research outputs found
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
Models, Techniques, and Metrics for Managing Risk in Software Engineering
The field of Software Engineering (SE) is the study of systematic and quantifiable approaches to software development, operation, and maintenance. This thesis presents a set of scalable and easily implemented techniques for quantifying and mitigating risks associated with the SE process. The thesis comprises six papers corresponding to SE knowledge areas such as software requirements, testing, and management. The techniques for risk management are drawn from stochastic modeling and operational research.
The first two papers relate to software testing and maintenance. The first paper describes and validates novel iterative-unfolding technique for filtering a set of execution traces relevant to a specific task. The second paper analyzes and validates the applicability of some entropy measures to the trace classification described in the previous paper. The techniques in these two papers can speed up problem determination of defects encountered by customers, leading to improved organizational response and thus increased customer satisfaction and to easing of resource constraints.
The third and fourth papers are applicable to maintenance, overall software quality and SE management. The third paper uses Extreme Value Theory and Queuing Theory tools to derive and validate metrics based on defect rediscovery data. The metrics can aid the allocation of resources to service and maintenance teams, highlight gaps in quality assurance processes, and help assess the risk of using a given software product. The fourth paper characterizes and validates a technique for automatic selection and prioritization of a minimal set of customers for profiling. The minimal set is obtained using Binary Integer Programming and prioritized using a greedy heuristic. Profiling the resulting customer set leads to enhanced comprehension of user behaviour, leading to improved test specifications and clearer quality assurance policies, hence reducing risks associated with unsatisfactory product quality.
The fifth and sixth papers pertain to software requirements. The fifth paper both models the relation between requirements and their underlying assumptions and measures the risk associated with failure of the assumptions using Boolean networks and stochastic modeling. The sixth paper models the risk associated with injection of requirements late in development cycle with the help of stochastic processes
Multiple views of control flows as a tool to improve programmer's understanding of interactive software
International audienceMy work addresses the question of how to improve programming notations and environments used for developing interactive systems. I focus on representing the control flow in interactive programs in the hope that it will improve the programmer?s ability to understand how their programs work. My thesis is that offering programmers the ability to create and manipulate multiple ad-hoc views of the control flow is the right way to go, where current programming languages and environment each choose one particular view
Copy number variations and cancer
DNA copy number variations (CNVs) are an important component of genetic variation, affecting a greater fraction of the genome than single nucleotide polymorphisms (SNPs). The advent of high-resolution SNP arrays has made it possible to identify CNVs. Characterization of widespread constitutional (germline) CNVs has provided insight into their role in susceptibility to a wide spectrum of diseases, and somatic CNVs can be used to identify regions of the genome involved in disease phenotypes. The role of CNVs as risk factors for cancer is currently underappreciated. However, the genomic instability and structural dynamism that characterize cancer cells would seem to make this form of genetic variation particularly intriguing to study in cancer. Here, we provide a detailed overview of the current understanding of the CNVs that arise in the human genome and explore the emerging literature that reveals associations of both constitutional and somatic CNVs with a wide variety of human cancers
On the Definition of Architecture, Design and Implementation
The terms architecture, design, and implementation are
typically used informally in partitioning software specifications
into three coarse strata of abstraction. But these
strata are not well-defined in either research or practice
and often overlap causing confusion and needless discussion.
To remedy this problem we formally define two criteria:
the Intension and the Locality Criteria, and show that
the intuitive discrimination between the three terms architecture,
design, and implementation is qualitative and not
merely quantitative. We demonstrate that architectural
styles are intensional and non-local; that design patterns
are intensional and local; and that implementations are
extensional and loca
Recommended from our members
Potomotyphlus, Potomotyphlus kaupii
Number of pages=23Geological SciencesIntegrative Biolog
- …