2,676 research outputs found

    An Editor for Helping Novices to Learn Standard ML

    Get PDF
    This paper describes a novel editor intended as an aid in the learning of the functional programming language Standard ML. A common technique used by novices is programming by analogy whereby students refer to similar programs that they have written before or have seen in the course literature and use these programs as a basis to write a new program. We present a novel editor for ML which supports programming by analogy by providing a collection of editing commands that transform old programs into new ones. Each command makes changes to an isolated part of the program. These changes are propagated to the rest of the program using analogical techniques. We observed a group of novice ML students to determine the most common programming errors in learning ML and restrict our editor such that it is impossible to commit these errors. In this way, students encounter fewer bugs and so their rate of learning increases. Our editor, C Y NTHIA, has been implemented and is due to be tested on st..

    An ML Editor based on Proofs-as-Programs

    Get PDF
    . C Y NTHIA is a novel editor for the functional programming language ML in which each function definition is represented as the proof of a simple specification. Users of C Y NTHIA edit programs by applying sequences of high-level editing commands to existing programs. These commands make changes to the proof representation from which a new program is then extracted. The use of proofs is a sound framework for analysing ML programs and giving useful feedback about errors. Amongst the properties analysed within C Y NTHIA at present is termination. C Y NTHIA has been successfully used in the teaching of ML in two courses at Napier University. 1 Introduction Current programming environments for novice functional programming (FP) are inadequate. This paper describes ways of using mechanised theorem proving to improve the situation, in the context of the language ML [9]. ML is a stronglytyped FP language with type inference [4]. ML incorporates extensive use of pattern match..

    Use of proofs-as-programs to build an anology-based functional program editor

    Get PDF
    This thesis presents a novel application of the technique known as proofs-as-programs. Proofs-as-programs defines a correspondence between proofs in a constructive logic and functional programs. By using this correspondence, a functional program may be represented directly as the proof of a specification and so the program may be analysed within this proof framework. CʸNTHIA is a program editor for the functional language ML which uses proofs-as-programs to analyse users' programs as they are written. So that the user requires no knowledge of proof theory, the underlying proof representation is completely hidden. The proof framework allows programs written in CʸNTHIA to be checked to be syntactically correct, well-typed, well-defined and terminating. CʸNTHIA also embodies the idea of programming by analogy — rather than starting from scratch, users always begin with an existing function definition. They then apply a sequence of high-level editing commands which transform this starting definition into the one required. These commands preserve correctness and also increase programming efficiency by automating commonly occurring steps. The design and implementation of CʸNTHIA is described and its role as a novice programming environment is investigated. Use by experts is possible but only a sub-set of ML is currently supported. Two major trials of CʸNTHIA have shown that CʸNTHIA is well-suited as a teaching tool. Users of CʸNTHIA make fewer programming errors and the feedback facilities of CʸNTHIA mean that it is easier to track down the source of errors when they do occur

    Lessons learned from supplementing archaeological museum exhibitions with virtual reality

    Get PDF
    Archaeological excavations provide us with important clues about the past. Excavated artefacts represent an important connection to civilisations that no longer exist and help us understand some of their customs, traditions and common practices. With the help of academics and practitioners from various disciplines the results of archaeological excavations can be analysed and a body of knowledge about the corresponding society can be created and shared with members of the general public. Museums have traditionally served the purpose of communicating this knowledge and backing it up with the help of the excavated artefacts. Many museum visitors, however, find it difficult to develop a coherent understanding of the corresponding society only based on the artefacts and annotations showed in museums. Effective modern techniques that have high potential in helping museum visitors with better understanding of the past are 3D reconstruction and Virtual Reality. 3D reconstruction offers a cost effective way of recreating historical settlements in a computer-generated virtual environment, while Virtual Reality helps with immersing people into such environments and reaching a high degree of realism. With the help of these technologies it becomes possible to relive history, imagine yourself being a part of the reconstructed society and learn about its culture firsthand. The combination of 3D reconstruction and Virtual Reality \anton{represents} a very powerful learning tool, however this tool has been rarely used in a museum setting and its correct use has not been properly investigated. In this paper we present a study into using Virtual Reality in itinerant archaeological exhibitions. We discuss the lessons we have learned from developing an interactive Virtual Reality simulation of the Neolithic settlement of La Draga. These lessons feature our analysis of qualitative and quantitative feedback of museum visitors, as well as what we have learned from analysing their navigation and interaction patterns

    An Intelligent Debugging Tutor For Novice Computer Science Students

    Get PDF
    Debugging is a necessary aspect of computer science that can be difficult for novices and experienced programmers alike. This skill is mainly self-taught and is generally gained through trial and error, perhaps with some assistance from a professor or other expert figure. Novices encountering their first software defects may have few avenues open to them depending on the environment in which they are learning to program. The evident problem here is that the potential for a student to become stuck, frustrated, and/or losing confidence in their ability to pursue computer science is great. For a student to be successful when working professionally or progressing through academia they need to be able to function independently; trusting their own knowledge on par or above that of others so that their productivity does not rely on the knowledge of someone else. In order to solve this problem an Intelligent Tutoring System for teaching debugging skills to the novice utilizing Case Based Reasoning, Static Program Slicing, and the student\u27s preferred learning style was proposed. Case acquisition and automatic Exercise Generation were also explored. The system built for this research program was evaluated using novice students at the College and High School levels. Results of this evaluation produced statistically significant results at the p\u3c.05 and p\u3c.01 levels, with generated exercises exhibiting significance at the p\u3c.01 level. These results prove that the methodology chosen is a valid approach for the problem described, that the system does in fact teach students how to debug programs, and that the system is capable of successfully generating exercises on the fly

    mage: Fluid Moves Between Code and Graphical Work in Computational Notebooks

    Full text link
    We aim to increase the flexibility at which a data worker can choose the right tool for the job, regardless of whether the tool is a code library or an interactive graphical user interface (GUI). To achieve this flexibility, we extend computational notebooks with a new API mage, which supports tools that can represent themselves as both code and GUI as needed. We discuss the design of mage as well as design opportunities in the space of flexible code/GUI tools for data work. To understand tooling needs, we conduct a study with nine professional practitioners and elicit their feedback on mage and potential areas for flexible code/GUI tooling. We then implement six client tools for mage that illustrate the main themes of our study findings. Finally, we discuss open challenges in providing flexible code/GUI interactions for data workers

    Exploring a technology-facilitated part-complete solution method for learning computer programming

    Get PDF
    Learning to program is now a requirement in many courses of study in such areas as computer science, information technology, information systems, multimedia. engineering, and science. However, research indicates that many students have great difficulties in learning to program and this results in high failure rates and high levels of withdrawal from academic courses. It is accepted that programming is an intrinsically difficult subject however the teaching and learning methods used in many programming courses have changed little over the years. The literature indicates the importance of reducing the cognitive load that students experience when learning programming and that one method that has potential to do this uses part-complete program solutions. This study sought to explore a technology supported part-complete solution method (TSPCSM) for the learning of computer programming. A teaching and learning framework for programming was developed and a technology supported “COde Restucturing Tool” CORT, was then designed around the learning framework and developed to support the part-complete solution method and provide a suitable learning environment. A quasi-experimental research design framework was utilised in the study which used both qualitative and quantitative research methods. A series of programming problems was developed for CORT and an experiment was undertaken with students who were studying introductory programming. Experimental and control groups were utilised in the experiment which took place over a 14 week semester at an Australian university The data were analysed and they provided rich information concerning three research questions relating to the part-complete solution method (PCSM) through CORT: how students engaged with CORT; how CORT supported the learning process; and how CORT impacted upon their learning outcomes. Results from the study indicated that the PCSM within CORT imposed a low cognitive load on students; provided high levels of cognitive support; strong scaffolding for learning; and students engaged well with the system and generally used a thoughtful and considered strategy to solving programming problems. No differences in learning achievement were found between the experimental and control groups, however other findings indicated that the students who used the PCSM within CORT required significantly less time and less help than the control group and the students who benefited most from the use of CORT appeared to have well developed mental models of program execution, More research is clearly needed to further explore the best ways to implement CORT so that learning advantages can be gained e solution method and provide a suitable learning environment. A quasi-experimental research design framework was utilised in the study which used both qualitative and quantitative research methods. A series of programming problems was developed for CORT and an experiment was undertaken with students who were studying introductory programming. Experimental and control groups were utilised in the experiment which took place over a 14 week semester at an Australian university The data were analysed and they provided rich information concerning three research questions relating to the part-complete solution method (PCSM) through CORT: how students engaged with CORT; how CORT supported the learning process; and how CORT impacted upon their learning outcomes. Results from the study indicated that the PCSM within CORT imposed a low cognitive load on students; provided high levels of cognitive support; strong scaffolding for learning; and students engaged well with the system and generally used a thoughtful and considered strategy to solving programming problems. No differences in learning achievement were found between the experimental and control groups, however other findings indicated that the students who used the PCSM within CORT required significantly less time and less help than the control group and the students who benefited most from the use of CORT appeared to have well developed mental models of program execution, More research is clearly needed to further explore the best ways to implement CORT so that learning advantages can be gained to solving programming problems. No differences in learning achievement were found between the experimental and control groups, however other findings indicated that the students who used the PCSM within CORT required significantly less time and less help than the control grou

    Recent Advances in Artificial Intelligence-Assisted Ultrasound Scanning

    Get PDF
    Funded by the Spanish Ministry of Economic Affairs and Digital Transformation (Project MIA.2021.M02.0005 TARTAGLIA, from the Recovery, Resilience, and Transformation Plan financed by the European Union through Next Generation EU funds). TARTAGLIA takes place under the R&D Missions in Artificial Intelligence program, which is part of the Spain Digital 2025 Agenda and the Spanish National Artificial Intelligence Strategy.Ultrasound (US) is a flexible imaging modality used globally as a first-line medical exam procedure in many different clinical cases. It benefits from the continued evolution of ultrasonic technologies and a well-established US-based digital health system. Nevertheless, its diagnostic performance still presents challenges due to the inherent characteristics of US imaging, such as manual operation and significant operator dependence. Artificial intelligence (AI) has proven to recognize complicated scan patterns and provide quantitative assessments for imaging data. Therefore, AI technology has the potential to help physicians get more accurate and repeatable outcomes in the US. In this article, we review the recent advances in AI-assisted US scanning. We have identified the main areas where AI is being used to facilitate US scanning, such as standard plane recognition and organ identification, the extraction of standard clinical planes from 3D US volumes, and the scanning guidance of US acquisitions performed by humans or robots. In general, the lack of standardization and reference datasets in this field makes it difficult to perform comparative studies among the different proposed methods. More open-access repositories of large US datasets with detailed information about the acquisition are needed to facilitate the development of this very active research field, which is expected to have a very positive impact on US imaging.Depto. de Estructura de la Materia, Física Térmica y ElectrónicaFac. de Ciencias FísicasTRUEMinistry of Economic Affairs and Digital Transformation from the Recovery, Resilience, and Transformation PlanNext Generation EU fundspu
    corecore