219,122 research outputs found

    Concepts and Concept-Oriented Programming.

    Full text link

    Concepts and their Use for Modelling Objects and References in Programming Languages

    Full text link
    In the paper a new programming construct, called concept, is introduced. Concept is pair of two classes: a reference class and an object class. Instances of the reference classes are passed-by-value and are intended to represent objects. Instances of the object class are passed-by-reference. An approach to programming where concepts are used instead of classes is called concept-oriented programming (CoP). In CoP objects are represented and accessed indirectly by means of references. The structure of concepts describes a hierarchical space with a virtual address system. The paper describes this new approach to programming including such mechanisms as reference resolution, complex references, method interception, dual methods, life-cycle management inheritance and polymorphism.Comment: 43 pages. Related papers: http://conceptoriented.com

    Advancing sCool - Game Type Research and Development

    Get PDF
    The proposed project, sCool, is an adaptive game-based learning experience designed for STEM education. In this work, we present a new iteration of sCool in efforts to further examine contributing factors of engagement, usability, and comprehension. The newly developed game experience for acquiring object-oriented programming skills is divided into two parts: concept learning and practical challenge. The concept learning part teaches students theoretical lessons of programming through fun gameplay. The practical challenge part allows students to practice programming by completing tasks. This project presents several new game types for both the concept learning and practical challenge parts. The development of these game types spreads across two phases. The first phase introduces two new game types and focuses on extending sCool to support learning object-oriented programming and improve student’s learning comprehension. The second phase builds off of the first phase, introducing another new game type to improve the object-oriented programming learning experience and the game’s overall usability and engagement. During the first phase, three experiments were conducted in a classroom setting with a computer science teacher. Conducting a study involving a total of 39 school students and three teachers, we are able to successfully display an enhanced understanding of different programming concepts. During the second phase, a single experiment was held remotely among a wide group of people, and the participants were self-guided by an instruction document and the sCool application. Conducting a study with 25 participants, we are able to show a significant improvement in the game’s usability and engagement. For future works, further evaluations in-classroom and over a longer course will be useful in assessing the new game type’s effectiveness in teaching object oriented programming. Furthermore, the game should be expanded to support learning more complex concepts in object oriented programming

    Pembelajaran Pemrograman Berorientasi Objek (Object Oriented Programming) Berbasis Project Based Learning

    Get PDF
     Learning aims to help to gain experience both knowledge, skills, and values ​​in order to become increasing quantity and quality. For that education should be able to prepare human resources creative. The problems found in learning require creative thinking especially in programming learning, the ability to think algorithm is needed to make the program made as expected. Object oriented programming or Object Oriented Programming (OOP) provides convenience in making a program, because OOP programming has been using the concept of modularity of objects and classes. Java is an object oriented programming (OOP) programming language that can run on various operating system platforms, both on computers and on mobile phones. Alice can be used for Object-based programming learning, as Alice is a program designed to learn the basic concepts of computer programs while creating story telling and simple 3D interactive games. Alice can introduce the concept of fun programming through learning to create animations and games. Simply project-based learning using Alice can be applied with learning using animation technology with daily life problems. Project-based learning (project based learning) methods make it more active, creative and successful in solving problems with good and correct algorithms. The project-based learning model has advantages in improving learning outcomes and motivation.   Keywords: Alice, Object oriented programming, Project based learnin

    Integration Principles in Numerical Software

    Get PDF
    Since personal computers are currently being used by individuals who are not professional computer specialists, the need for a framework allowing quick and easy development of user-friendly software is necessary. One such framework is the concept of software integration. This concept is now reasonably popular and several software tools allowing for such integration are available on the market. Unfortunately, all of these tools are oriented towards office automation systems, word processing, telecommunications etc. No such tools are available for scientific users which would allow easy utilization of mathematical programming software, model building and analysis etc. This paper presents the system DISO which can support dialogue solving mathematical programming problems. The system allows for the treatment of all mathematical programming modules in a uniform way, allowing easy interaction with the user utilizing various metaphors for data presentation and analysis of results as well as being open -- i.e. new mathematical programming modules can be easily linked to the system. The DISO system has been designed utilizing modern software engineering concepts, like hierarchical program structuring, object-oriented paradigm and abstract data types oriented interface

    CSP design model and tool support

    Get PDF
    The CSP paradigm is known as a powerful concept for designing and analysing the architectural and behavioural parts of concurrent software. Although the theory of CSP is useful for mathematicians, the programming language occam has been derived from CSP that is useful for any engineering practice. Nowadays, the concept of occam/CSP can be used for almost every object-oriented programming language. This paper describes a tree-based description model and prototype tool that elevates the use of occam/CSP concepts at the design level and performs code generation to Java, C, C++, and machine-readable CSP for the level of implementation. The tree-based description model can be used to browse through the generated source code. The tool is a kind of browser that is able to assist modern workbenches (like Borland Builder, Microsoft Visual C++ and 20-SIM) with coding concurrency. The tool will guide the user through the design trajectory using support messages and several semantic and syntax rule checks. The machine-readable CSP can be read by FDR, enabling more advanced analysis on the design. Early experiments with the prototype tool show that the browser concept, combined with the tree-based description model, enables a user-friendly way to create a design using the CSP concepts and benefits. The design tool is available from our URL, http://www.rt.el.utwente.nl/javapp

    Data-parallel programming with multiple inheritance on the connection machine

    Get PDF
    The demand for computers is oriented toward faster computers and newer computers are being built with more than one CPU. These computers require sophisticated software to program them. One such approach to program the multiple CPU machines is through the use of object-oriented programming techniques. An example of such an approach is the use of C* on the Connection Machine. Though C* supports many of the object-oriented concepts, it does not support the concept of software reuse through inheritance. This thesis introduces a new language called C*±+ , an extension of C* language to support inheritance. We also discuss the issues invloved in the implementation of multiple inheritance in programming languages. This thesis describes the differences between C** and C* . It also discusses the various issues involved in the design and implementation of the translator from C** to C* . It also illustrates the advantages of programming in C*++ through an example. Since C*++ is designed to support software reuse which allows the users to create quality software in shorter time, it is anticipated that C*+ will have widespread use in programming the Connection Machine
    corecore