The increased number of students (in higher education) learning programming languages makes the efficient and effective assessment of student work more important. Thus, academic researchers have focused on the automat...
详细信息
ISBN:
(纸本)9781509022182
The increased number of students (in higher education) learning programming languages makes the efficient and effective assessment of student work more important. Thus, academic researchers have focused on the automation of programming assignment marking. However, the fully automated approach to marking has its issues. This study provides an approach geared towards the reduction of marking times while providing comprehensive, effective and consistent feedback on novice programmers' code script. To assess novices' code script, a new semi-automated assessment approach has been developed. This paper focuses on the semi-automatic assessment of programming code segments, partially explaining the increasing similarity between code segments using generic rules. The code segments referred to are 'for' and 'while' loops and sequence parts of code script. The initial results and findings for the proposed approach are positive and point to the need for further research in this area.
The basic indicators of the life cycle of technology were analyzed and the generalized system for the evaluation of the life cycle phase is allocated. Indicators are considered as properties that technology must have ...
详细信息
ISBN:
(纸本)9781538616390
The basic indicators of the life cycle of technology were analyzed and the generalized system for the evaluation of the life cycle phase is allocated. Indicators are considered as properties that technology must have to fit a certain stage of its existence. The existing approaches of technology development analysis were studied. The generalized classification, which is a list of indexes for the proper stage of development, is proposed. The generalized technologies estimation system will enable to minimize technological risks related to the short-term and long-term software development prospects.
Structured parallel programming has been studied and applied in several programming languages. This approach has proven to be suitable for abstracting low-level and architecture-dependent parallelism implementations. ...
详细信息
ISBN:
(纸本)9781450376389
Structured parallel programming has been studied and applied in several programming languages. This approach has proven to be suitable for abstracting low-level and architecture-dependent parallelism implementations. Our goal is to provide a structured and high-level library for the Rust language, targeting parallel stream processing applications for multi-core servers. Rust is an emerging programming language that has been developed by Mozilla Research group, focusing on performance, memory safety, and thread-safety. However, it lacks parallel programming abstractions, especially for stream processing applications. This paper contributes to a new API based on the structured parallel programming approach to simplify parallel software developing. Our experiments highlight that our solution provides higher-level parallel programming abstractions for stream processing applications in Rust. We also show that the throughput and speedup are comparable to the state-of-the-art for certain workloads.
Appearance of computing machines dates back to the 1940s and their corresponding scientific disciplines, computer science resp. informatics, have arisen in the 1960s. Nevertheless, fighting for appropriate programming...
详细信息
ISBN:
(纸本)9783540752202
Appearance of computing machines dates back to the 1940s and their corresponding scientific disciplines, computer science resp. informatics, have arisen in the 1960s. Nevertheless, fighting for appropriate programming and specification languages has not yet come to an end: The Java-programming language and the Abstract State Machines ASM are new and representative specimens which have arisen recently. These languages are even advancing and improving themselves: Original Java 1996, a flat languagelanguage without class nestings, towards more modern Java 2000 with nested classes, and Basic ASM resp. Evolving Algebras 1988/91 towards Turbo ASM 2003 where machines and rules show new features like naming, parameterizing, local states and recursive calls. These transitions inside Java resp. ASM remind at a much earlier transition from Fortran and Algol 58 to Algol 60 with its block concept and nested, parameterized, recursive and formal procedures. Aim of the present essay is to show that many of those new concepts incorporated in new Java and Turbo ASM were already available in Algo160.
As big software projects grow, there is an increasing need of cleaning up or restructuring the existing code. This problem can be addressed by using refactorings, which are small semantics-preserving code transformati...
详细信息
ISBN:
(纸本)9781586036737
As big software projects grow, there is an increasing need of cleaning up or restructuring the existing code. This problem can be addressed by using refactorings, which are small semantics-preserving code transformations. Many refactorings have been automated in existing development environments to help the developer in this process. Most implementations are currently based on the abstract syntax tree. Unfortunately, this model, which was first designed for the compilation process, does not provide all the abstractions that are required for complex refactorings such as extracting a method. In this paper, the FOOD model is introduced and described. Based entirely on graphs, this model is targeted to the implementation of complex code transformations by providing the necessary abstractions. The "extract method" refactoring is applied on the FOOD model as a concrete example. Then a comparison with existing models such as abstract syntax trees is made.
programming has the potential to bring to life that which is most minute in man's imagination. Imagination, however, it will all remain, if no appropriate intervention is made to facilitate the learning of program...
详细信息
ISBN:
(纸本)9781450359719
programming has the potential to bring to life that which is most minute in man's imagination. Imagination, however, it will all remain, if no appropriate intervention is made to facilitate the learning of programming. Research studies show that the traditional, face-to-face method of teaching does not provide an enabling environment for learning programming. Hence, outside-classroom intervention is called for. Certain previous studies have tried to build new tools to support the outside-classroom intervention. However, there a need to study the use of existing, familiar and relaxing environments, such as social media, for this intervention. In this paper, we investigate the capability of a social media platform to support the learning of programming among learners in the developing world. We chose the WhatsApp platform as the starting point to uncover these design needs. We also reflected on the lessons learnt using this intervention.
We address the problem of providing users, namely non specialists, with out-of-the-box, programmable, Wireless Sensor-Actuator Networks (WSN). The idea is that users get a package containing a gateway and an undetermi...
详细信息
ISBN:
(纸本)9781467382977
We address the problem of providing users, namely non specialists, with out-of-the-box, programmable, Wireless Sensor-Actuator Networks (WSN). The idea is that users get a package containing a gateway and an undetermined number of nodes, pre-configured to work as a self-organized wireless mesh. Each node comes with two pre-installed components: a small operating system and a virtual machine. The user can then use a simple, domain-specific, programming language to implement periodic tasks that are compiled into byte-code, and can be sent to the nodes for execution. At the nodes, the operating system manages a task table and schedules non-preemptive tasks for execution using the virtual machine. No subtle hardware or software configuration is required from the user as these details are abstracted away by the virtual machine. We developed a full specification for a data-layer that follows the aforementioned guidelines and implemented a complete prototype, integrated in our own Publish/Subscribe middleware called SONAR. In this paper we report the first results of using the prototype as compared to using the low level programming tools provided with the hardware. We measure a small increase in both resource consumption and processing overhead suggesting that this data-layer can be used effectively in WSN, even in cases where nodes have very limited hardware resources.
What are the main difficulties met when implementing ASIS, what are the problems when using ASIS, are there any missing features in ASIS, e.g. when it comes to object-oriented programming, these are some of the topics...
详细信息
ISBN:
(纸本)3540676694
What are the main difficulties met when implementing ASIS, what are the problems when using ASIS, are there any missing features in ASIS, e.g. when it comes to object-oriented programming, these are some of the topics dealt with in this experience report.
It is assumed that there is a similarity of function between the data names of a programming language and the file names of an operating system. The two functions are discussed in terms of the same basic concepts in o...
详细信息
Scientific software is defined as software that is used to analyze data to investigate unanswered research questions in the scientific community. Developers use programming languages such as Julia to build scientific ...
详细信息
ISBN:
(纸本)9781728130941
Scientific software is defined as software that is used to analyze data to investigate unanswered research questions in the scientific community. Developers use programming languages such as Julia to build scientific software. When programming with Julia, developers experience program execution time discrepancy i.e. not obtaining desired program execution time, which hinders them to efficiently complete their tasks. The goal of this paper is to help developers in achieving desired program execution time for Julia by identifying the causes of why program execution time discrepancies happen with an empirical study of Stack Overflow posts. We conduct an empirical study with 263 Julia-related posts collected from Stack Overflow, and apply qualitative analysis on the collected 263 posts. We identify 9 categories of program execution time discrepancies for Julia, which include discrepancies related to data structures usage such as, arrays and dictionaries. We also identify 10 causes that explain why the program execution time discrepancies happen. For example, we identify program execution time discrepancy to happen when developers unnecessarily allocate memory by using array comprehension.
暂无评论