38,342 research outputs found

    Formal Reasoning Using an Iterative Approach with an Integrated Web IDE

    Full text link
    This paper summarizes our experience in communicating the elements of reasoning about correctness, and the central role of formal specifications in reasoning about modular, component-based software using a language and an integrated Web IDE designed for the purpose. Our experience in using such an IDE, supported by a 'push-button' verifying compiler in a classroom setting, reveals the highly iterative process learners use to arrive at suitably specified, automatically provable code. We explain how the IDE facilitates reasoning at each step of this process by providing human readable verification conditions (VCs) and feedback from an integrated prover that clearly indicates unprovable VCs to help identify obstacles to completing proofs. The paper discusses the IDE's usage in verified software development using several examples drawn from actual classroom lectures and student assignments to illustrate principles of design-by-contract and the iterative process of creating and subsequently refining assertions, such as loop invariants in object-based code.Comment: In Proceedings F-IDE 2015, arXiv:1508.0338

    A gentle transition from Java programming to Web Services using XML-RPC

    Get PDF
    Exposing students to leading edge vocational areas of relevance such as Web Services can be difficult. We show a lightweight approach by embedding a key component of Web Services within a Level 3 BSc module in Distributed Computing. We present a ready to use collection of lecture slides and student activities based on XML-RPC. In addition we show that this material addresses the central topics in the context of web services as identified by Draganova (2003)

    Natural‐language processing applied to an ITS interface

    Get PDF
    The aim of this paper is to show that with a subset of a natural language, simple systems running on PCs can be developed that can nevertheless be an effective tool for interfacing purposes in the building of an Intelligent Tutoring System (ITS). After presenting the special characteristics of the Smalltalk/V language, which provides an appropriate environment for the development of an interface, the overall architecture of the interface module is discussed. We then show how sentences are parsed by the interface, and how interaction takes place with the user. The knowledge‐acquisition phase is subsequently described. Finally, some excerpts from a tutoring session concerned with elementary geometry are discussed, and some of the problems and limitations of the approach are illustrated

    Impact Of A Visual Programming Experience On The Attitude Toward Programming Of Introductory Undergraduate Students

    Get PDF
    Traditionally, textual tools have been utilized to teach basic programming languages and paradigms. Research has shown that students tend to be visual learners. Using flowcharts, students can quickly understand the logic of their programs and visualize the flow of commands in the algorithm. Moreover, applying programming to physical systems through the use of a microcontroller to facilitate this type of learning can spark an interest in students to advance their programming knowledge to create novel applications. This study examined if freshmen college students\u27 attitudes towards programming changed after completing a graphical programming lesson. Various attributes about students\u27 attitudes were examined including confidence, interest, stereotypes, and their belief in the usefulness of acquiring programming skills. The study found that there were no statistically significant differences in attitudes either immediately following the session or after a period of four weeks

    Kaleidoscope JEIRP on Learning Patterns for the Design and Deployment of Mathematical Games: Final Report

    Get PDF
    Project deliverable (D40.05.01-F)Over the last few years have witnessed a growing recognition of the educational potential of computer games. However, it is generally agreed that the process of designing and deploying TEL resources generally and games for mathematical learning specifically is a difficult task. The Kaleidoscope project, "Learning patterns for the design and deployment of mathematical games", aims to investigate this problem. We work from the premise that designing and deploying games for mathematical learning requires the assimilation and integration of deep knowledge from diverse domains of expertise including mathematics, games development, software engineering, learning and teaching. We promote the use of a design patterns approach to address this problem. This deliverable reports on the project by presenting both a connected account of the prior deliverables and also a detailed description of the methodology involved in producing those deliverables. In terms of conducting the future work which this report envisages, the setting out of our methodology is seen by us as very significant. The central deliverable includes reference to a large set of learning patterns for use by educators, researchers, practitioners, designers and software developers when designing and deploying TEL-based mathematical games. Our pattern language is suggested as an enabling tool for good practice, by facilitating pattern-specific communication and knowledge sharing between participants. We provide a set of trails as a "way-in" to using the learning pattern language. We report in this methodology how the project has enabled the synergistic collaboration of what started out as two distinct strands: design and deployment, even to the extent that it is now difficult to identify those strands within the processes and deliverables of the project. The tools and outcomes from the project can be found at: http://lp.noe-kaleidoscope.org

    Generating natural language specifications from UML class diagrams

    Get PDF
    Early phases of software development are known to be problematic, difficult to manage and errors occurring during these phases are expensive to correct. Many systems have been developed to aid the transition from informal Natural Language requirements to semistructured or formal specifications. Furthermore, consistency checking is seen by many software engineers as the solution to reduce the number of errors occurring during the software development life cycle and allow early verification and validation of software systems. However, this is confined to the models developed during analysis and design and fails to include the early Natural Language requirements. This excludes proper user involvement and creates a gap between the original requirements and the updated and modified models and implementations of the system. To improve this process, we propose a system that generates Natural Language specifications from UML class diagrams. We first investigate the variation of the input language used in naming the components of a class diagram based on the study of a large number of examples from the literature and then develop rules for removing ambiguities in the subset of Natural Language used within UML. We use WordNet,a linguistic ontology, to disambiguate the lexical structures of the UML string names and generate semantically sound sentences. Our system is developed in Java and is tested on an independent though academic case study

    Remote Sensing Information Sciences Research Group, Santa Barbara Information Sciences Research Group, year 3

    Get PDF
    Research continues to focus on improving the type, quantity, and quality of information which can be derived from remotely sensed data. The focus is on remote sensing and application for the Earth Observing System (Eos) and Space Station, including associated polar and co-orbiting platforms. The remote sensing research activities are being expanded, integrated, and extended into the areas of global science, georeferenced information systems, machine assissted information extraction from image data, and artificial intelligence. The accomplishments in these areas are examined
    corecore