This paper discusses the introduction of the object oriented programming paradigm in Software Engineering Education. Although the subject has being growing in importance over the past few years, its inclusion among th...
详细信息
This paper discusses the introduction of the object oriented programming paradigm in Software Engineering Education. Although the subject has being growing in importance over the past few years, its inclusion among the software engineer assets is still very limited. It is suggested that teaching of OOP be included as early as possible in undergraduate and graduate curricula as opposed to the current situation of leaving the subject to advanced courses;Issues related to re-educating experienced programmers, including faculty, are also presented.
The paper focuses on the most frequent mistakes in object oriented programming (OOP) of common programming processes. It also focuses on the mistakes made in creating object models. The target of OOP is to create a pu...
详细信息
ISBN:
(纸本)9788360779026
The paper focuses on the most frequent mistakes in object oriented programming (OOP) of common programming processes. It also focuses on the mistakes made in creating object models. The target of OOP is to create a purposeful program which implements all the requirements of a given assignment and which is resistant to usage variations. The first condition to fulfill given aim is a good application proposal. The second condition is working knowledge of programming languages and the last one is knowledge of the settings at which program works. The article deals with programmer mistakes in relation to the influence of a program's functionality. The fundamental mistakes, made in program application execution, are syntax errors. Other mistakes are those which do not shape the program functionality. These arise during the program's structural development. These types of mistakes, in many cases, are not recognized by programmers, because the program appears to work properly. These mistakes, however, are fundamental, because of cooperation in program creating team. This paper is aimed towards both;beginner programmers as well as experienced workers, and it can help them to identify bad habits which influence team work. Successful programming requires practical experience, but this script enables programmers to obtain accelerated practical experience in computer programming.
An objectoriented extension of the real time programming language PEARL is presented, which preserves PEARL's expressiveness for timeliness and industrial processes and, at same time, improves the language's ...
详细信息
An objectoriented extension of the real time programming language PEARL is presented, which preserves PEARL's expressiveness for timeliness and industrial processes and, at same time, improves the language's readability and manageability through the adoption of a better encapsulation paradigm derived from the object concept. The resulting object model allows the definition of inter- and intraobject parallelism in a transparent and simple way. Some extensions aim to enhance testability and safety related aspects of the language, such as the enforcement of a deterministic temporal behaviour. The proposed language is fully backward compatible with PEARL 90, while allowing powerful abstraction concepts.
The purpose of this study is to identify and evaluate how the computer game could apply as a tool for teaching and learning object-orientedprogramming in higher education institution. Nowadays, computer games have wi...
详细信息
The purpose of this study is to identify and evaluate how the computer game could apply as a tool for teaching and learning object-orientedprogramming in higher education institution. Nowadays, computer games have widely applied in learning process due to the burgeoning computer use in the market. Therefore it is necessary to conduct a study on these matters to propose an efficient and effective educational computer game for higher institution learning and teaching process.
This paper describes the logic of a dynamic algorithm for a general 2D Delaunay triangulation of arbitrarily prescribed interior and boundary nodes. The complexity of the geometry is completely arbitrary. The scheme i...
详细信息
This paper describes the logic of a dynamic algorithm for a general 2D Delaunay triangulation of arbitrarily prescribed interior and boundary nodes. The complexity of the geometry is completely arbitrary. The scheme is free of specific restrictions on the input of the geometrical data. The scheme generates triangles whose associated circumcircles contain 'no nodal points except their vertices. There is no predefined limit for the number of points and the boundaries. The direction of generation of the triangles cannot be determined a priori as opposed to the moving front techniques. An automatic node placement scheme reflecting the initial boundary point spacings is used. The successive refinement scheme results in such a point distribution that the triangulation algorithm need not perform any geometric intersection check for overlapped triangles and penetrated boundaries. Further computational saving is provided by using a special binary tree (ADT) in which the points are ordered such that contiguous points in the list are neighbours in physical space. The method consists of a set of simple rules to understand. The dynamic nature of the object oriented programming (OOP) of the algorithms provides efficient memory management on the insertion, deletion and searching processes. The computational effort bears a linear relationship between the CPU time and the total number of nodes. Some of the existing methods in the literature regarding triangular mesh generation are discussed in context.
Students often face difficulties while taking basic programming courses due to several factors. In response, research has presented subjective assessments for diagnosing learning problems to improve the teaching of pr...
详细信息
Students often face difficulties while taking basic programming courses due to several factors. In response, research has presented subjective assessments for diagnosing learning problems to improve the teaching of programming in higher education. In this paper, the authors propose an objectoriented conceptual map model and organize this approach into three levels: constructing a Concept Effect Propagation Table, constructing Test Item-Concept Relationships and diagnosing Student Learning Problems with Matrix Composition. The authors' work is a modification of the approaches of Chert and Bai as well as Chu et al., as the authors use statistical methods, rather than fuzzy sets, for the authors' analysis. This paper includes a statistical summary, which has been tested on a small sample of students in King Abdulaziz University, Jeddah, Saudi Arabia, illustrating the learning problems in an objectoriented course. The experimental results have demonstrated that this approach might aid learning and teaching in an effective way.
The essence of object-oriented software technology and its application to CEM have been discussed. OOP is a promising technology for implementing a unified simulation framework for CEM. A well-designed object-oriented...
详细信息
The essence of object-oriented software technology and its application to CEM have been discussed. OOP is a promising technology for implementing a unified simulation framework for CEM. A well-designed object-oriented CEM package can encapsulate features common to all CEM techniques and support development of new modeling algorithms via object inheritance and polymorphism. Such a package would be a useful modeling tool for the CEM community. As of the writing of this article, there is no coordinated open-source initiative for creating a unified object-oriented CEM package. Availability of such a package would foster new channels of collaboration in the EM community. This would enable future students, engineers, and researchers to better focus their efforts in engineering design and algorithm innovation. The IEEE MTT Society could play an important role in realizing this proposed object-oriented CEM package.
We develop a theory of statically typed object-oriented languages. It represents classes as labeled, regular trees, types as finite sets of classes, and subclassing as a partial order on trees. We show that our subcla...
详细信息
We develop a theory of statically typed object-oriented languages. It represents classes as labeled, regular trees, types as finite sets of classes, and subclassing as a partial order on trees. We show that our subclassing order strictly generalizes inheritance, and that a novel genericity mechanism arises as an order-theoretic complement. This mechanism, called class substitution, is pragmatically useful and can be implemented efficiently.
This article demonstrates that object-orientedprogramming (OOP) systems are in fact part of a larger class of technical systems, which are structured along ''holonic'' organizational lines. The proper...
详细信息
This article demonstrates that object-orientedprogramming (OOP) systems are in fact part of a larger class of technical systems, which are structured along ''holonic'' organizational lines. The properties of holonic organizational architecture are brought out and applied to the description of OOP systems. This brings out the fundamental organizational features of OOP systems, abstracting them from other issues to do with standardization, replication, or costs, and enables a clearer understanding of the sources of their efficiency with respect to traditional, functionally structured programs. Finally, the use of the holonic paradigm as a design tool is illustrated, with a view to further developing the organizational clarity and effectiveness of OOP systems.
Incremental changes add new functionality and new properties to software. They are the basis of software maintenance, evolution, incremental development, agile development, and other important software engineering pro...
详细信息
Incremental changes add new functionality and new properties to software. They are the basis of software maintenance, evolution, incremental development, agile development, and other important software engineering processes. This article presents selected incremental change activities-change request, concept extraction, concept location, impact analysis, actualization, incorporation, change propagation, refactoring, and role splitting-in which programming concepts and program dependencies play a key role. The authors provide an example that illustrates an incremental change in the open source software Drawlets.
暂无评论