Java is arguably today's most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess st...
详细信息
Java is arguably today's most popular and widely used object-oriented programming language. Learning Java is a daunting task for students, and teaching it is a challenging undertaking for instructors. To assess students' object-oriented programming skills with Java, we developed the "Department-Employee" project. In this article, we review the history of object-oriented programming, provide an overview of object-oriented programming with Java, and present a summary of existing Java projects and their limitations. We also provide the project specifications as well as the course background, grading rubric, and score reports. Survey data are presented on students' backgrounds, as well as students' perceptions regarding the project. Results from the instructor score reports, correlation of the project score and the final course score, and student perceptions show that the "Department-Employee" project is effective in assessing students' object-oriented programming skills with Java.
We present a structural induction theorem for rings consisting of an arbitrary number of identical components. The components of a ring are modeled using a ''fair Petri net,'' in which the firing of a ...
详细信息
We present a structural induction theorem for rings consisting of an arbitrary number of identical components. The components of a ring are modeled using a ''fair Petri net,'' in which the firing of a prespecified set of transitions is assumed to occur fairly, i.e., any of these transitions that becomes firable infinitely often must fire infinitely often. Specifically, we introduce the concept of similarity between rings of different sizes, and give a condition under which the similarity between the rings of sizes two and three guarantees the similarity among the rings of all sizes. So if the given condition is satisfied, then the correctness of a ring of any large size can be inferred from the correctness of a ring having only a few components. The usefulness of the theorem is demonstrated using the examples of token-passing mutual exclusion and a simple producer-consumer system.
This paper presents an assessment of the efficiency of a set of new routines for the solution of linear equations compared to a selection of available solver packages. All solvers utilize a well-established eliminatio...
详细信息
This paper presents an assessment of the efficiency of a set of new routines for the solution of linear equations compared to a selection of available solver packages. All solvers utilize a well-established elimination technique with skyline storage. Symmetric as well as non-symmetric problems are considered. The significance of improving the code (but not the numerical algorithm per se) as compared to the compiler is discussed. A major conclusion is that the effectiveness of the compiler may be as important as the code itself. On comparison it appeared that the newly developed solvers showed consistently better performance for the chosen test problems.
Methods are presented for verifying loops which iterate over elements of data structures. This verification is done in the functional style developed by Mills and others, in which code is verified against the function...
详细信息
Methods are presented for verifying loops which iterate over elements of data structures. This verification is done in the functional style developed by Mills and others, in which code is verified against the function that the code is intended to compute. The methods allow the verifier to concentrate on the essential computation performed on each element of the structure, and separate out such concerns as data-structure access and termination so that they do not need to be verified again for every loop in the program. The methods are applicable to a large class of data structures and iterations over them.
Existing approaches to the synthesis of controllers in reactive systems typically involve the construction of transition systems such as Mealy automata. In 2011, Madhusudan proposed structured programs over a finite s...
详细信息
Existing approaches to the synthesis of controllers in reactive systems typically involve the construction of transition systems such as Mealy automata. In 2011, Madhusudan proposed structured programs over a finite set of Boolean variables as a more succinct formalism to represent the controller. He provided an algorithm to construct such a program from a given omega-regular specification without synthesizing a transition system first. His procedure is based on two-way alternating omega-automata on finite trees that recognize the set of "correct" programs. We present a more elementary and direct approach using only deterministic bottom-up tree automata and extend Madhusudan's results to the wider class of programs with bounded delay, which may read several input symbols before producing an output symbol (or vice versa). In addition, we show a lower bound for the size of these tree automata. Finally, we prove a lower bound for the number of Boolean variables that are required for a structured program to satisfy a given LTL specification, almost matching the known upper bound. (C) 2015 Elsevier Inc. All rights reserved.
Application development today is too labor-intensive. In recent years, very high-level languages have been increasingly explored as a solution to this problem. The Business Definition Language (BDL) is such a language...
详细信息
Application development today is too labor-intensive. In recent years, very high-level languages have been increasingly explored as a solution to this problem. The Business Definition Language (BDL) is such a language, one aimed at business data processing problems. The concepts in BDL mimic those which have evolved through the years in businesses using manual methods. This results in three different sublanguages or components: one for defining the business forms, one for describing the business organization, and one for writing calculations.
A programming style is suggested which combines the advantages of a very high-level language, SETL, and the approach of structured programming. This is achieved by first expressing algorithms in SETL then adding state...
详细信息
A programming style is suggested which combines the advantages of a very high-level language, SETL, and the approach of structured programming. This is achieved by first expressing algorithms in SETL then adding statements from a formally defined Data Structure Elaboration Language to the SETL program. The result is an algorithm completely specified in terms of logical structure and optimized implementation. The mechanization of the translation into a low-level language, is described and the programming style is illustrated with examples from the SETL compiler which, itself is written in SETL.
作者:
BUTLER, KInf. Syst.
Illingworth Morris plc Scotia House Cemetery Rd. Bradford BS8 9RU UK
The selection process and application of a fourth-generation language (4GL) into a large UK textile group is described. Initial experience with information technology was unsuccessful, and the revised strategy is disc...
详细信息
The selection process and application of a fourth-generation language (4GL) into a large UK textile group is described. Initial experience with information technology was unsuccessful, and the revised strategy is discussed. A pilot project for a 4GL was implemented. Following the success of this pilot scheme, and follow-up references, the full project was instigated. The development process for the full project is described, looking at the various areas that required consideration, such as recruitment, control, communication, database design, estimation, and programming.
An interesting and little documented problem is the influence of a design methodology on the program architecture. In this case study, we compared two design methodologies and their impact on both development process ...
详细信息
An interesting and little documented problem is the influence of a design methodology on the program architecture. In this case study, we compared two design methodologies and their impact on both development process and the resulting program architecture. The methodologies are object-based variants of refinement methodology and structured design, respectively. Both methodologies were applied to the same problem (a library system of less than 1000 lines of Ada code), and the results were compared. Substantial differences between the two resulting architectures are analysed and discussed.
The paper describes interactive microcomputer programs for linear and non-linear analysis of framed structures under static loading. These programs represent useful analytical complements to the design process used in...
详细信息
The paper describes interactive microcomputer programs for linear and non-linear analysis of framed structures under static loading. These programs represent useful analytical complements to the design process used in structural engineering practice. The programs permit linear elastic analysis of two and three dimensional framed structures. The programs may be used in a sequential manner to predict the elastic instability loads of planar frames. They may also be used iteratively to model elastic-plastic behaviour of planar frames up to the simple plastic collapse condition. The paper highlights the value of structured programming in achieving memory conservation in microcomputers.
暂无评论