This paper describes the use of the object-orientedprogramming language BETA for modelling and implementing a simple prototype of an ISDN D-channel layer 3 (I.451) entity. In particular, the implementation of ISDN su...
详细信息
To overcome the shortage of computer specialists, there is an increased need for correspondent study and training offers, in particular for learning programming. The automated assessment of solutions to programming ta...
详细信息
ISBN:
(纸本)9781728109305
To overcome the shortage of computer specialists, there is an increased need for correspondent study and training offers, in particular for learning programming. The automated assessment of solutions to programming tasks could relieve teachers of time-consuming corrections and provide individual feedback even in online courses without any personal teacher. The e-assessment system JACK has been successfully applied for more than 12 years up to now, e.g., in a CS1 lecture. However, there are only few solid research results on competencies and competence models for object-orientedprogramming (OOP), which could be used as a foundation for high-quality feedback. In a joint research project of research groups at two universities, we aim to empirically define competencies for OOP using a mixed-methods approach. In a first step, we performed a qualitative content analysis of source code (sample solutions and students' solutions) and as a result identified a set of suitable competency components that forms the core of further investigations. Semi-structured interviews with learners will be used to identify difficulties and misconceptions of the learners and to adapt the set of competency components. Based on that we will use Item Response Theory (IRT) to develop an automatically evaluable test instrument for the implementation of abstract data types. We will further develop empirically founded and competency-based feedback that can be used in e-assessment systems and MOOCs.
The paper reviews the role of object-orientedprogramming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-oriented programmi...
详细信息
The paper reviews the role of object-orientedprogramming when developing software in geology and geophysics. Main stages have been identified at which it is worthwhile to apply principles of object-orientedprogramming when developing software in geology and geophysics. The research was based on a number of problems solved in Geology and Petroleum Production Institute. Distinctive features of these problems are given and areas of application of the object-oriented approach are identified. Developing applications in the sphere of geology and geophysics has shown that the process of creating such products is simplified due to the use of object-orientedprogramming, firstly when designing structures for data storage and graphical user interfaces.
Functional programming concepts of referential transparency and lazy evaluation combine effectively with objected-oriented encapsulation. We present a design pattern for C++ classes that are logically immutable and fu...
详细信息
ISBN:
(纸本)0780350057
Functional programming concepts of referential transparency and lazy evaluation combine effectively with objected-oriented encapsulation. We present a design pattern for C++ classes that are logically immutable and fully determined by the parameters of their constructor. Hidden state is used internally to cache the results of computation performed in the scope of accessors, giving them lazy semantics, Modifying replicators model change by constructing a new instance without changing the original. Previously computed results are lazily copied via a back reference if the parameters report which the computation depends have nor changed. Since these classes are logically immutable they can be freely shared by reference ill complex networks, mitigating the amount of actual copying performed. These techniques realize several advantages - well known to the functional programming community including suitability for modular reasoning and parallel evaluation. 'Undo' facilities and safe recovery from exceptions can be provided with little extra effort. Examples from a large multi-platform biomedical imaging application illustrate the techniques.
作者:
Pillay, NUniv Natal
Sch Geol & Comp Sci ZA-4001 Durban Kwazulu Natal South Africa
This paper basically describes the artificial intelligence structures and techniques used to solve programming problems in a generic architecture for the development of intelligent programming tutors to tutor the obje...
详细信息
ISBN:
(纸本)0769506534
This paper basically describes the artificial intelligence structures and techniques used to solve programming problems in a generic architecture for the development of intelligent programming tutors to tutor the object-orientedprogramming paradigm. Each problem is depicted in terms of a program specification describing the task to be performed, and a knowledge base consisting of conceptual graphs representing the problem application domain. Solving a programming problem essentially involves developing art object-oriented design, developing algorithms for the methods of the classes and the overall program, and implementing these algorithms in a particular language. A description of the artificial intelligence techniques used to generate object-oriented designs and induce the necessary algorithms is provided Finally: the paper describes additional extensions that need to be made to the Expert Module of the architecture for the purpose of problem solving.
This paper describes the results of an experiment in the use of the Gödel logic programming language for object-orientedprogramming. An object-oriented program is implemented in Gödel at two levels. First, ...
详细信息
When minor modifications need to be made in an object-oriented computer program, they often incur further more changes due to the presence of dependency in the codes and the program structure. Yet, to accommodate the ...
详细信息
ISBN:
(纸本)9780791844113
When minor modifications need to be made in an object-oriented computer program, they often incur further more changes due to the presence of dependency in the codes and the program structure. Yet, to accommodate the required change, there can also be more than one option to carry out the initial modifications. To select the modification option in this context, this paper proposes a systematic approach to estimate the scope of change propagation of an object-oriented program given some initial modifications. The strategy is to first capture the dependency relationships of the entities pertaining to an object-oriented program via the matrix representation. Based on this matrix-based model, the priority number method is proposed and applied to estimate the scope of change propagation by assuming some initial modifications. The core of this method is to estimate the chance of affecting other program entities due to some modified entities. A case study is conducted throughout the paper to illustrate and justify the proposed method.
While the object-orientation is the most used paradigm for developing general purpose software systems, the use of reactive systems has been growing lately. One of the differences between them is that while the first ...
详细信息
In this chapter, we present algebraic laws for a language similar to a subset of sequential Java that includes inheritance, recursive classes, dynamic binding, access control, type tests and casts, assignment, but no ...
详细信息
ISBN:
(纸本)3540462538
In this chapter, we present algebraic laws for a language similar to a subset of sequential Java that includes inheritance, recursive classes, dynamic binding, access control, type tests and casts, assignment, but no sharing. We show that these laws are complete, in the sense that they are sufficient to reduce any program to a normal form substantially close to an imperative program: classes and inheritance are used only to preserve the notion of subtyping;all classes have empty bodies, except the object class, which collects all the attributes moved up from all its subclasses. Methods are also eliminated by first resolving dynamic binding, and then in-lining their bodies in place of the calls. This suggests that our laws are expressive enough to formally derive behaviour preserving program transformations;this is illustrated through the derivation of refactorings. We present the motivation for our work in Section 1. In Section 2, we give an overview of the subset of Java that we consider. After that, in Section 3, we present the algebraic laws of our language, concentrating on its object-oriented features. Completeness of our set of laws is considered in Section 4, where we present the normal form and a reduction strategy. In Section 5 we show how the presented laws can serve as a basis for proving refactorings. Section 6 summarises our results, briefly discusses soundness of the laws, considers the impact of reference semantics, relates our results with work involving concurrency, and suggests topics for further research.
object-orientedprogramming (OOP) is widely used in the software industry and university introductory courses today. Following the structure of most textbooks, such courses frequently are organised starting with the c...
详细信息
ISBN:
(纸本)9781479919345
object-orientedprogramming (OOP) is widely used in the software industry and university introductory courses today. Following the structure of most textbooks, such courses frequently are organised starting with the concepts of imperative and structured programming and only later introducing OOP. An alternative approach is to begin directly with OOP following the Outside-In teaching method as proposed by Meyer. Empirical results for the effects of Outside-In teaching on students and lecturers are sparse, however. We describe the conceptual design and empirical evaluation of two OOP introductory courses from different universities based on Outside-In teaching. The evaluation results are compared to those from a third course serving as the control group, which was taught OOP the "traditional" way. We evaluate the initial motivation and knowledge of the participants and the learning outcomes. In addition, we analyse results of the end-term exams and qualitatively analyse the results of interviews with the lecturers and tutors. Regarding the learning outcomes, the results show no significant differences between the Outside-In and the "traditional" teaching method. In general, students found it harder to solve and implement algorithmic problems than to understand objectoriented (OO) concepts. Students taught OOP by the Outside-In method, however, were less afraid that they would not pass the exam at the end of term and understood the OO paradigm more quickly. Therefore, the Outside-In method is no silver bullet for teaching OOP regarding the learning outcomes but has positive effects on motivation and interest.
暂无评论