207,824 research outputs found

    Designing Software Architectures As a Composition of Specializations of Knowledge Domains

    Get PDF
    This paper summarizes our experimental research and software development activities in designing robust, adaptable and reusable software architectures. Several years ago, based on our previous experiences in object-oriented software development, we made the following assumption: ‘A software architecture should be a composition of specializations of knowledge domains’. To verify this assumption we carried out three pilot projects. In addition to the application of some popular domain analysis techniques such as use cases, we identified the invariant compositional structures of the software architectures and the related knowledge domains. Knowledge domains define the boundaries of the adaptability and reusability capabilities of software systems. Next, knowledge domains were mapped to object-oriented concepts. We experienced that some aspects of knowledge could not be directly modeled in terms of object-oriented concepts. In this paper we describe our approach, the pilot projects, the experienced problems and the adopted solutions for realizing the software architectures. We conclude the paper with the lessons that we learned from this experience

    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

    The AutoProof Verifier: Usability by Non-Experts and on Standard Code

    Get PDF
    Formal verification tools are often developed by experts for experts; as a result, their usability by programmers with little formal methods experience may be severely limited. In this paper, we discuss this general phenomenon with reference to AutoProof: a tool that can verify the full functional correctness of object-oriented software. In particular, we present our experiences of using AutoProof in two contrasting contexts representative of non-expert usage. First, we discuss its usability by students in a graduate course on software verification, who were tasked with verifying implementations of various sorting algorithms. Second, we evaluate its usability in verifying code developed for programming assignments of an undergraduate course. The first scenario represents usability by serious non-experts; the second represents usability on "standard code", developed without full functional verification in mind. We report our experiences and lessons learnt, from which we derive some general suggestions for furthering the development of verification tools with respect to improving their usability.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    Lessons and challenges from software quality assessment: The case of space systems software

    Get PDF
    Software development activities have continued to be plagued by a number of problems even with the availability of so many esoteric software technologies and paradigms such as object oriented development, etc.Several studies can be traced back to the software processes adopted. Other contributing factors include lack of knowledge of available systems standards, tools and techniques employed by system practitioners. This paper presents lessons and challenges gained over the last 10 years of experience as software system administrator as well as lecturers in the computer science department. Over this period of time, we have managed a number of in-house and purchased project software amongst them are banking, airtime billing, human resource, result computation etc. We discussed these lessons and challenges across two measurable  characteristics namely quality of design (life cycle stages) and quality of conformance. Finally, we also recommended the lessons and challenges from software quality management for space system software

    The Effects of Using Living Sea Animals on the Student’s Emotional States

    Get PDF
    Using living animals in school lessons makes it possible for students to have an emotionally charged learning experience. With the example of Thornback rays (Raja clavata), the emotional affects of sea animals on students are investigated. Theoretical aspects can be found in the explanation of activity-oriented teaching, which is organised holistically and student-active. The preparation for and confrontation with the thornback ray was successfully adjusted to the individual needs of the students. The students collectively worked on research issues and the ray was presented as a research object. Besides the emotional adventures of touching a living ray, the students took notes of the most important growth characteristics of the ray. Hence the students encounter the ray as a living animal on different levels. To check the hypotheses of how a living animal influences the students’ emotional state, the PANAS questionnaire is applied. PANAS serves as a snap-shot of the students’ emotional state. Whilst there are no differences found concerning the negative affects, the positive affects show a significant difference between a lesson with and a lesson without a real object. If the lesson comprises a real object, the item attentive is chosen significantly more often than in a lesson without real objects. Additionally, the data was analysed with a t-test, whereat the students in the framework of an activity-oriented lesson show significantly more positive affects compared to a lesson without real objects. The study gives a comprehensive insight into the different emotions of students when confronting them with a real object

    Knowledge formalization in experience feedback processes : an ontology-based approach

    Get PDF
    Because of the current trend of integration and interoperability of industrial systems, their size and complexity continue to grow making it more difficult to analyze, to understand and to solve the problems that happen in their organizations. Continuous improvement methodologies are powerful tools in order to understand and to solve problems, to control the effects of changes and finally to capitalize knowledge about changes and improvements. These tools involve suitably represent knowledge relating to the concerned system. Consequently, knowledge management (KM) is an increasingly important source of competitive advantage for organizations. Particularly, the capitalization and sharing of knowledge resulting from experience feedback are elements which play an essential role in the continuous improvement of industrial activities. In this paper, the contribution deals with semantic interoperability and relates to the structuring and the formalization of an experience feedback (EF) process aiming at transforming information or understanding gained by experience into explicit knowledge. The reuse of such knowledge has proved to have significant impact on achieving themissions of companies. However, the means of describing the knowledge objects of an experience generally remain informal. Based on an experience feedback process model and conceptual graphs, this paper takes domain ontology as a framework for the clarification of explicit knowledge and know-how, the aim of which is to get lessons learned descriptions that are significant, correct and applicable

    Software development: A paradigm for the future

    Get PDF
    A new paradigm for software development that treats software development as an experimental activity is presented. It provides built-in mechanisms for learning how to develop software better and reusing previous experience in the forms of knowledge, processes, and products. It uses models and measures to aid in the tasks of characterization, evaluation and motivation. An organization scheme is proposed for separating the project-specific focus from the organization's learning and reuse focuses of software development. The implications of this approach for corporations, research and education are discussed and some research activities currently underway at the University of Maryland that support this approach are presented

    Logic programming in the context of multiparadigm programming: the Oz experience

    Full text link
    Oz is a multiparadigm language that supports logic programming as one of its major paradigms. A multiparadigm language is designed to support different programming paradigms (logic, functional, constraint, object-oriented, sequential, concurrent, etc.) with equal ease. This article has two goals: to give a tutorial of logic programming in Oz and to show how logic programming fits naturally into the wider context of multiparadigm programming. Our experience shows that there are two classes of problems, which we call algorithmic and search problems, for which logic programming can help formulate practical solutions. Algorithmic problems have known efficient algorithms. Search problems do not have known efficient algorithms but can be solved with search. The Oz support for logic programming targets these two problem classes specifically, using the concepts needed for each. This is in contrast to the Prolog approach, which targets both classes with one set of concepts, which results in less than optimal support for each class. To explain the essential difference between algorithmic and search programs, we define the Oz execution model. This model subsumes both concurrent logic programming (committed-choice-style) and search-based logic programming (Prolog-style). Instead of Horn clause syntax, Oz has a simple, fully compositional, higher-order syntax that accommodates the abilities of the language. We conclude with lessons learned from this work, a brief history of Oz, and many entry points into the Oz literature.Comment: 48 pages, to appear in the journal "Theory and Practice of Logic Programming

    Levels of inquiry: Hierarchies of pedagogical practices and inquiry processes

    Get PDF
    Provides pedagogical insight concerning the skill of inquiry The resource being annotated is: http://www.dlese.org/dds/catalog_COSEE-1808.htm
    corecore