AEIOU is an integrated programming environment developed to support the teaching-learning process of object-oriented programming in a gradual way. AEIOU includes three modules, one for each level of students' expe...
详细信息
AEIOU is an integrated programming environment developed to support the teaching-learning process of object-oriented programming in a gradual way. AEIOU includes three modules, one for each level of students' expertise: novice, intermediate, and advanced. This article describes the features of each module of AEIOU and the experiences and results obtained using this programming environment to support the sequence of programming courses in two Mexican engineering schools. (c) 2011 Wiley Periodicals, Inc. Comput Appl Eng Educ 22:309-319, 2014;View this article online at;DOI
In this paper, we describe the design and implementation of an environment for specification, analysis and verification of reactive systems. The environment allows the user to develop specification in the graphical fo...
详细信息
In this paper, we describe the design and implementation of an environment for specification, analysis and verification of reactive systems. The environment allows the user to develop specification in the graphical formalism of Statecharts and analyze them using a simulation tool. A built-in translator tool translates the specification into an Esterel program for the purpose of carrying out verification. Through such an approach, we have been able to integrate the powerful graphical formalism of Statecharts, which is very appealing to engineers, and the power of the formal verification environment of Esterel. Since we translate Statecharts, which can be non-deterministic, to Esterel programs, which are fully deterministic, the system overcomes the non-determinism in the specifications by enforcing priority. The behavior of Esterel programs generated by the translator follow Harel and Naamad's 'step' semantics. In the paper, we describe the main components of the PERTS environment and the principles underlying the translation and illustrate the use of the system for specification and verification using an example. (C) 2001 Published by Elsevier Science Ltd.
Optimistic make is a version of the make program that begins execution of the commands needed to update makefile targets before the user issues the make request. Outputs of these optimistic computations (such as file ...
详细信息
Optimistic make is a version of the make program that begins execution of the commands needed to update makefile targets before the user issues the make request. Outputs of these optimistic computations (such as file or screen updates) are concealed until the request is issued. If the inputs read by the optimistic computations have not been changed by the time of the make request, the results of the optimistic computations are used, leading to improved response time. Otherwise, the necessary computations are reexecuted. We introduce the notion of encapsulations as the basic construct used to support optimistic make, and we describe the implementation of optimistic make in the V-System on a collection of SUN workstations. Statistics measured from this implementation are used to synthesize a workload for a discrete-event simulation, and to validate the simulation's results. The simulation shows a speedup distribution over pessimistic make with a median of 1.72 and a mean of 8.28. The speedup distribution is strongly dependent on the ratio between the target out-of-date times and the command execution times. With faster machines the median of the speedup distribution grows to 5.1, and then decreases again. Given the large idle times observed in many workstation environments, the extra machine resources used by optimistic make are well within the limit of available resources.
Distributed systems frequently exhibit properties of interest which span multiple entities. These properties cannot easily be recognized from any single entity, but can be readily detected by combining the knowledge o...
详细信息
Distributed systems frequently exhibit properties of interest which span multiple entities. These properties cannot easily be recognized from any single entity, but can be readily detected by combining the knowledge of multiple entities. Testing for distributed properties is especially important in debugging or verifying software for modular robots. We have developed a technique we call distributed watchpoint triggers which can efficiently recognize distributed conditions. Our watchpoint description language can handle a variety of temporal, spatial and logical properties spanning multiple robots. In this paper we present the specification language, describe the distributed online mechanism for detecting distributed conditions in a running system and evaluate the performance of our implementation.
The programming of efficient parallel software typically requires extensive experimentation with program prototypes. To facilitate such experimentation, any programming system that supports rapid prototyping of parall...
详细信息
The programming of efficient parallel software typically requires extensive experimentation with program prototypes. To facilitate such experimentation, any programming system that supports rapid prototyping of parallel programs should provide high-level language primitives with which programs can be explicitly, statically, or dynamically tuned with respect to performance and reliability. When using such primitives, programmers should not need to interact explicitly or even be aware of the different software tools involved in program construction and tuning, such as compilers, linkers, and loaders. In addition, such language primitives should be able to refer conveniently to the information about the executing program and the parallel hardware required for tuning. Such information may include monitoring data about the current or previous program or even hints regarding appropriate tuning decisions. Language primitives and an associated programming system for program tuning are presented in this paper. The primitives and system have been implemented, and have been tested with several parallel applications on a network of UNIX® workstations. [ABSTRACT FROM AUTHOR]
P-GRADE development and run-time environment provides high-level graphical support to develop scientific applications and to execute them efficiently on various platforms. This paper gives an overview on the paralleli...
详细信息
P-GRADE development and run-time environment provides high-level graphical support to develop scientific applications and to execute them efficiently on various platforms. This paper gives an overview on the parallelisation of two simulator algorithms;for chemical reaction-diffusion systems and for accidental release of chemical (or radioactive) substances. Applying the same user environment we present our experiences regarding the execution of these chemistry applications on dedicated and non-dedicated clusters, and in different grid environments.
Programmers' mental representations of programs do not obey the order and immediate content of program texts. Multiple visible representations, or views, of programs help programmers to construct mental representa...
详细信息
Programmers' mental representations of programs do not obey the order and immediate content of program texts. Multiple visible representations, or views, of programs help programmers to construct mental representations needed in, e.g., maintenance tasks. We have implemented VinEd, a language-independent editor framework that supports an unlimited number of user-definable and editable views. Views are defined by transformation programs that construct views from the original representation. VinEd extends the notion of views to any activity that can be based on the original program, e.g., program compilation. Thus VinEd can be extended to include a complete set of programming tools.
In this paper we present our own study on residential assemblies, starting from a particular set presented in [6]. We build a database and we present our results concerning these data. We present an algorithm for obta...
详细信息
In this paper we present our own study on residential assemblies, starting from a particular set presented in [6]. We build a database and we present our results concerning these data. We present an algorithm for obtaining aggregated values sets. In order to exemplify its application we make a study on residential assemblies including apartments with three rooms.
Collecting fine-grained programming process data may require students' informed consent in order to comply with ethical and legal regulations. Previous studies suggest that such consent is not always given in the ...
详细信息
ISBN:
(纸本)9798400704758
Collecting fine-grained programming process data may require students' informed consent in order to comply with ethical and legal regulations. Previous studies suggest that such consent is not always given in the context of graded introductory programming courses due to students' concerns about being accused of plagiarism. Little is known about the students' willingness to give consent in these contexts and what strategies can be used to increase consent. In this work, we propose a novel strategy that combines data encryption with a data trustee to address a conflict of interest that arises when instructors are involved in research. Trustee-based encryption prevents instructors and researchers from accessing collected data until students have been graded while ensuring that data can be recovered if students drop out of the course. We present initial evidence that student councils are suitable candidates to serve as data trustees in higher education. To determine the impact of our strategy on consent, we conducted two experiments with computer science students enrolled in graded introductory programming courses at a German university. While we were unable to find evidence for increased willingness to consent, we found evidence that trustee-based encryption reduces signs of anxiety about the misuse of collected data. As such, our strategy can be considered beneficial for obtaining informed consent. In contexts where such consent is not required, trustee-based encryption could prevent missing or biased data caused by students who attempt to bypass data collection.
In recent years, numerous approaches to automated feedback have been presented in the field of programming education. Often, these methods deliver feedback through standalone web-based environments or educational prog...
详细信息
ISBN:
(纸本)9798400709111
In recent years, numerous approaches to automated feedback have been presented in the field of programming education. Often, these methods deliver feedback through standalone web-based environments or educational programming environments. However, only few works have explored how such feedback can be provided within Integrated Development environments (IDEs). We propose MINDFIX, an approach for integrating alternative feedback mechanisms for addressing programming language misconceptions about Java into the Eclipse IDE. These mechanisms include textual hints, code examples, and a personalized pedagogical agent. A laboratory experiment was conducted to investigate their impact on novice programmers in higher education. The results show that MINDFIX addresses missing feedback mechanisms and features. Additionally, there are initial insights that our feedback addresses programming language misconceptions while being perceived as useful and comprehensible. Our findings also suggest that novice programmers with low self-efficacy expectations perceive pedagogical agents as more motivating, useful, and less disruptive compared to their peers.
暂无评论