object oriented programming (OOP) is a complex domain in the education field and requires proper technological underpinning for the facilitation of the process. However, the vast variety of available programming envir...
详细信息
ISBN:
(纸本)9781908272706
object oriented programming (OOP) is a complex domain in the education field and requires proper technological underpinning for the facilitation of the process. However, the vast variety of available programming environments makes the selection of the most efficient technology that will cover students' needs and will lead to the teachers' desired learning outcomes a significant challenge. These technologies, such as Educational programming Environments and programming Microworlds, are often applied on OOP courses in order to underpin the process and help students develop internal incentives, thus foster the feeling of challenge, curiosity, active control and imagination. However, students of the 21st century are growing up in a fully digital world and therefore learn and react accordingly. Alongside the growth of the Internet, high speed access and virtual communities have contributed to a new trend development called online gaming. Therefore, computer games can be considered an appropriate means to deliver knowledge to students of most courses and increase their motivation to learn. A term that is often used when referring to computer games incorporated in the learning experience is "serious games", and they can involve one or multiple players. Serious games have a higher learning value when they are used in courses that consider critical thinking, group work and decision making as essential to be developed. Therefore, it is the paper's initial intent to examine representative examples of commonly used technologies in OOP education and to derive their most prominent features that support students' successful learning experience. To this end, we carry out a theoretical research of the literature regarding Educational programming Environments and programming Microworlds in OOP education, as well as serious games in OOP or in computer programming in general following a concept-centric methodological approach. These concepts consist of the most prominent functionalitie
In this paper we study how roles can be added to patterns modelling relationships in object oriented programming. Relationships can be introduced in programming languages either by reducing them to attributes of the o...
详细信息
ISBN:
(纸本)9783540756972
In this paper we study how roles can be added to patterns modelling relationships in object oriented programming. Relationships can be introduced in programming languages either by reducing them to attributes of the objects which participate in the relationship, or by modelling the relationship itself as a class whose instances have the participants of the relationships among their attributes. However, even if roles have been recognized as an essential component of relationships, also in modelling languages like UML, they have not been introduced in object oriented programming when it is necessary to model relationships. Introducing roles allows to add attributes and behaviors to the participants in the relationship, rather than to the relationship itself, and to distinguish the natural types of the participants in the relationships from the roles the participants acquire in the relationships. We show how the role model of the language powerJava can be used to endow the relationship as attribute pattern with roles.
object oriented programming is a new programming paradigm with different concepts compared with conventional programming which is a process oriented. For start writing objectoriented program, a student should determi...
详细信息
ISBN:
(纸本)9781424423279
object oriented programming is a new programming paradigm with different concepts compared with conventional programming which is a process oriented. For start writing objectoriented program, a student should determine the basic elements which need to start a program using programming question which was wrote in natural language. For that, one prototype OOP Tool was built for determination the basic elements of object oriented programming. This determination the basic elements of object oriented programming is using heuristics rules for accuracy determination. This determination just focuses on three elements. These elements are classes, variables/attributes and functions/methods which heuristics rules will be use for determine these basic elements to make it more accurate. This OOP Tool is very useful for first year's student in university or college which must follow object oriented programming class.
Teaching a new object oriented programming (OOP) language nowadays is a challenging task. Many different approaches were proposed in the last years. But which one helps to achieve the optimal learning results? In the ...
详细信息
ISBN:
(纸本)9781538695067
Teaching a new object oriented programming (OOP) language nowadays is a challenging task. Many different approaches were proposed in the last years. But which one helps to achieve the optimal learning results? In the Nicomachean Ethics Aristotle wrote: "For the things we have to learn before we can do them, we learn by doing them.". He already knew that the best way to learn something is to do it. Experience has confirmed the effectiveness of this approach, including in the field of programming. When learning a new programming language, it is extremely important to apply it directly to a specific task. Such a task could be, for example, the development of a well-known children's board game such as Nanu, Zicke Zacke etc. This is exactly the task we set our students as part of the "object oriented programming with Java" module. In this paper we want to report the experiences we have made with this approach and make suggestions for the future.
This paper presents a language framework for a concurrent description and an implementation of a synchronization mechanism in distributed object-oriented computation. Some concurrent object-oriented languages are cons...
详细信息
ISBN:
(纸本)0769519067
This paper presents a language framework for a concurrent description and an implementation of a synchronization mechanism in distributed object-oriented computation. Some concurrent object-oriented languages are considered to be constructed from a user-defined function and a synchronization constraint. We propose the language for the synchronization constraint, which allows to define mutual exclusion and conditional synchronization by using declarative notations. The synchronization constraint is separated from user-defined functions, and the relation between them is described in the binding code. The binding mechanism reduces the dependency between them and contributes to code reuse. This framework makes it is easy for programmers to understand and describe the use-defined functions and synchronization constraints independently. The implementation of the synchronization mechanism is based on reconfigurable object model that we are developing. The user-defined function and synchronization mechanism are implemented as its own separated module in the single object. Then the synchronization mechanism has flexibility and preserves the concept of object-orientation.
Software development is moving from procedural programming towards object-orientedprogramming (OOP). Past studies in cognitive aspects of programming have focused primarily on procedural programming languages. object...
详细信息
In this paper, we describe the implementation of a database design environment (Swift) that incorporates several novel features: Swift's data modelling approach is derived from viewpoint-oriented methods;Swift is ...
详细信息
ISBN:
(纸本)081868271X
In this paper, we describe the implementation of a database design environment (Swift) that incorporates several novel features: Swift's data modelling approach is derived from viewpoint-oriented methods;Swift is implemented in Java, which allows us to easily construct a client/server based environment;the repository is implemented using PostgreSQL, which allows us to store the actual application code in the database;and the combination of Java and PostgreSQL reduces the impedance mismatch between the application and the repository.
This study follows well-published educational criteria for assessing the quality of learning outcomes and investigates how these criteria are applied to descriptors of courses that include object oriented programming ...
详细信息
This study follows well-published educational criteria for assessing the quality of learning outcomes and investigates how these criteria are applied to descriptors of courses that include object oriented programming concepts. These quality criteria aim to ensure that learning outcomes are specific, measurable, attainable, relevant and time-scaled. The study examined course descriptors from all universities in New Zealand and found a significant gap between the published criteria and the learning outcomes-it is clear that learning outcomes are widely open to interpretation and do not meet the criteria. There is a minimal level of detail provided in these outcomes that are insufficient to satisfy the stated criteria. This study then presents a new and more detailed implementation of outcomes augmented with assessment structure and marking criteria to show that adding more detail significantly increases the complexity of course descriptors. This highlights the need for robust discussions between the writers of course descriptors who look for simplicity and flexibility and quality assessors who expect precision and specifics.
Software engineering requires modification of code during development and maintenance phase. During modification, a difficult task is to understand rationale of code changed by others. Present Integrated Development E...
详细信息
ISBN:
(纸本)9781479951802
Software engineering requires modification of code during development and maintenance phase. During modification, a difficult task is to understand rationale of code changed by others. Present Integrated Development Environments (IDEs) attempt to help this by providing features integrated with different types of repositories. However, these features still consume developers' time as he has to switch from editor to another window for this purpose. Moreover, these features focus on elements available in present version of code, thus increasing the difficulty of finding rationale of an element removed or modified earlier. Leveraging different sources for providing information through code completion menus has been shown to be valuable, even when compared to standalone counterparts offering similar functionalities in literature. Literature also shows that it is one of the most used features for consuming information within IDE. Based on that, we prepare an Eclipse plug-in and a framework that allows providing reason of code change, at method granularity, across versions through a new code completion menu in IDE. These allow a software engineer to gain insight about rationale of removed or modified methods which are otherwise not available in present version of code. Professional software engineers participated in our empirical evaluation process and we observed that more than 80% participants considered this to be a useful approach for saving time and effort to understand rationale of method change.
A large numbers of metrics have been projected for measuring properties of object-oriented package like size, inheritance, cohesion and coupling. To find the difference between inheritance and interface programming co...
详细信息
ISBN:
(纸本)9781479931569
A large numbers of metrics have been projected for measuring properties of object-oriented package like size, inheritance, cohesion and coupling. To find the difference between inheritance and interface programming coupling metrics are used. This paper measures coupling between object (CBO), number of associations between categories (NASSocC), number of dependencies in metric (NDepIN) and number of dependencies out metric (NDepOut) in object oriented programming for both static and dynamic analysis. Java program is employed for implementation. In this paper we would like to show which concept is excellent to use and useful for package developer.
暂无评论