Problem-tracing questions are popular among teachers of various programminglanguages. In an assessment mode these questions allows to evaluate student knowledge of language semantics. In a self-assessment mode, they ...
详细信息
ISBN:
(纸本)9781605583815
Problem-tracing questions are popular among teachers of various programminglanguages. In an assessment mode these questions allows to evaluate student knowledge of language semantics. In a self-assessment mode, they provide an excellent learning tool. A 2004 ITiCSE working group report [4] stressed the importance of this type of questions to build foundation of higher-level knowledge. Yet the use of problem-tracing questions is still limited due to a large authoring overhead. To resolve this bottleneck, we explored the idea of parameterized question generation [2]. We developed QuizPACK [1], a system which can generate parameterized problem-tracing questions for C programminglanguage. We also developed QuizGuide [1], a personalized guidance system for QuizPACK, which models student knowledge and guides students individually to most appropriate questions to try. The results of our studies demonstrated that QuizPACK strongly benefits student knowledge and that QuizGuide personalized guidance technology increased student ability to answer questions correctly and encouraged them to use the system more extensively (which, in turn, positively impacted their knowledge) [1]. However, parameterized questions in area of C programming were not as diverse from the complexity point of view as parameterized questions explored in other areas such as physics [2]. As a result, it was left unclear whether personalized guidance technology can successfully guide students to a broader range of questions from relatively simple to very difficult.
We implemented a translator from a subset of C to java that guarantees safety. For such translation, we need to emulate C's pointer arithmetics in java. We thus defined java classes to represent C's pointers a...
详细信息
We implemented a translator from a subset of C to java that guarantees safety. For such translation, we need to emulate C's pointer arithmetics in java. We thus defined java classes to represent C's pointers and memory blocks. Next, we defined translation rules which use these classes, and implemented a translator following the rules. We also need to translate integers as pointers, because they can be cast to each other in C. However, representing all integers as pointers incurs too much overhead. We therefore implemented optimizations, including a data flow analysis for translating C's integer variables (to which no pointers are assigned) to java's integer variables. We conducted experiments with 9 benchmark programs. Without optimizations, the translated programs were 3.3-585 times slower than the original C programs. After the optimizations, those numbers improved to 1.3-5.9.
Hardware support for atomic execution can both greatly simplify the implementation of existing speculative compiler optimizations and enable new ones. Given current technology trends, this hardware and software cooper...
详细信息
Hardware support for atomic execution can both greatly simplify the implementation of existing speculative compiler optimizations and enable new ones. Given current technology trends, this hardware and software cooperation is a compelling approach such optimizations can simultaneously improve single-thread performance and reduce power consumption in both sequential and multithreadedapplications.
Jane Street Capital is a successful proprietary trading company that uses OCaml as its primary development language. We have over twenty OCaml programmers and hundreds of thousands of lines of OCaml code. We use OCaml...
详细信息
Jane Street Capital is a successful proprietary trading company that uses OCaml as its primary development language. We have over twenty OCaml programmers and hundreds of thousands of lines of OCaml code. We use OCaml for a wide range of tasks: critical trading systems, quantitative research, systems software, and system administration. We value OCaml because it allows us to rapidly produce readable, correct, efficient code to solve complex problems, and to change that code quickly to adapt to a changing world. We believe that using OCaml gives us a significant advantage over competitors that use languages like VB, Pert, C++, C#, or java. It also makes finding and hiring high-quality software developers easier than with mainstream languages. We have invested deeply in OCaml and intend to use OCaml and grow our team of functional programmers for the foreseeable future.
This paper develops an SECS Communication Module, which conforms to SEMI standard, using the Object-oriented Analysis/Design (OOA/D) method. The two main features of SECS Communication Module are Unified Modeling Lang...
详细信息
The jLab environment extends the potential of java for scientific computing. It provides a Matlab/Scilab like scripting language that is executed by an interpreter implemented in the javalanguage. The jLab environmen...
详细信息
The jLab environment extends the potential of java for scientific computing. It provides a Matlab/Scilab like scripting language that is executed by an interpreter implemented in the javalanguage. The jLab environment combines effectively Groovy like compiled scripting with the interpreted jScript one. A special purpose modification of the Groow language, called GroovySci is developed for effective compiled scripting. The paper concentrates on the topic of using the jLab scripting engine from within a pure java application, in order to allow the application to utilize the scientific scripting potential of jLab and its large scientific libraries. The implementation is inspired by the JSR 223 standard but it is much simpler. The same methodology for script invocation can also be used within the Groovy effective compiled scripting framework. We describe the basics of the Groovy scripting environment. To our knowledge, this is the first full Matlab like scientific scripting for java.
This article constitutes a thorough presentation of an original scheme for portable CPU accounting and control in java, which is based on program transformation techniques at the bytecode level and can be used with ev...
详细信息
In this paper we introduce a novel web server architecture that combines the best aspects of both the multithreaded and the event-driven architectures, the two major existing alternatives, to create a server model tha...
详细信息
CPL (Call Process language) is a scripting language for the description and control of communication service, and it expresses its content by using functional component in XAE language. This paper presents a component...
详细信息
ISBN:
(纸本)9780769532905
CPL (Call Process language) is a scripting language for the description and control of communication service, and it expresses its content by using functional component in XAE language. This paper presents a component reuse mechanism, and defines a matrix technique to inspect the conflict of component composition. By comparing the difference of CPL and java grammar, this paper brings forward a translation mechanism, via which we can translate CPL to equal functional java code in the framework of XML language. This mechanism adopts the idea of EJB container, and constructs the whole services after the form of class object, and describes the CPL componenst as javaBeans. By this way, the java code translated has character of easily readable, highly reusable and extendable. This mechanism is applied in our service creation system, and achieves good results.
A wide range of techniques for supporting software maintenance tasks rely on representations of program control flow. The accuracy of these representations can be important to the effectiveness and efficiency of these...
详细信息
ISBN:
(纸本)9781424426133
A wide range of techniques for supporting software maintenance tasks rely on representations of program control flow. The accuracy of these representations can be important to the effectiveness and efficiency of these techniques. The java programming language has introduced structured exception handling features that complicate the task of representing control flow. Previous work has attempted to address these complications by using type inference algorithms to analyze the control flow effects of exceptions, but to date, there has been no study of whether the use of these algorithms is justified In this paper we report results of an empirical study addressing this issue. We find that type inference algorithms can lead to more accurate representations of control flow, but this improvement does not necessarily translate into benefits for maintenance techniques that use them. It follows that type inference algorithms should not just automatically be applied;rather the tradeoffs of applying them must first be assessed with respect to particular maintenance techniques and workloads.
暂无评论