1,481 research outputs found

    Learning of Research Methods in Psychology: The Influence of Affective, Behavioural and Cognitive Factors

    Get PDF
    A major part of learning in psychology concerns research methods. Research methods provide a basis to the vast majority of both transferable and subject-specific skills required in a psychology degree, and research methods core modules are required in all British Psychological Society (BPS) accredited psychology courses in the UK. Existing literature acknowledges that university students find courses in research methods particularly challenging. However, most of the research to date has focused on evaluating the outcomes of research methods learning, with few studies addressing the development of research methods learning. In a series of three studies, this thesis applied a holistic approach to explore how affective, behavioural and cognitive components shape students' research methods learning journeys. As little research has explored the role of affect in the learning of research methods, a particular emphasis on emotions was placed, with the control-value theory of achievement emotions (Pekrun, 2019) being at the core of the thesis. Study 1 was a mixed-methods study consisting of two surveys (N=106) and two focus groups (N=7) exploring students' expectations, experiences, and feelings towards research methods at the beginning of their journey. The results suggested that learning approaches, motivations, self-efficacy, and a range of emotions can have important influences on students' learning processes and supported the need to explore these components together. Study 2 built on these findings and explored students' learning journeys through the research methods curriculum longitudinally across three-time points within two academic years. Drawing on both observational (N=239) and self-reported (N=158) data from the same learning experience, this study examined the influence and development of achievement emotions, learning approaches, motivations, self-regulation, self-efficacy, activity in Virtual Learning Environments (VLEs) and attendance on the learning of research methods. The findings supported the application of the control-value theory, with emotions seen as crucial to learning and deactivating negative emotions (boredom and hopelessness) appearing especially detrimental to students' research methods learning trajectories. The study highlighted the usefulness of VLEs as a learning tool with online engagement explaining 13% of the variance in research methods grades. Lastly, Study 3 provided deeper qualitative insights into students' learning by interviewing 15 students at the end of their journey, with three learning typologies identified: (1) Learning by interest and understanding, (2) Learning by guidelines and practice, (3) Apprehensive Learning Attitude. This study's results indicated both differences and similarities in psychology students' learning journeys, with students differing in their approach and attitudes while sharing similar struggles. Taken together, this research showed that many affective, cognitive and behavioural variables influence research methods learning journeys. The influence of emotions is highlighted as especially crucial to learning, with the predictive role of VLE engagement and activities also emphasised. This thesis offers proposals on how the literature on achievement emotions and the emerging field of learning analytics (Siemens, 2013) could be combined and applied in higher education. Further recommendations apply to the design of teaching and learning environments that combat specifically deactivating negative emotions and incorporate active learning tools and technologies

    Formalizing and Verifying a Modern Build Language

    Get PDF
    CLOUDMAKE is a software utility that automatically builds executable programs and libraries from source code—a modern MAKE utility. Its design gives rise to a number of possible optimizations, like cached builds, and the exe-cutables to be built are described using a functional programming language. This paper formally and mechanically verifies the correctness of central CLOUDMAKE algorithms. The paper defines the CLOUDMAKE language using an operational semantics, but with a twist: the central operation exec is defined axiomatically, making it pluggable so that it can be replaced by calls to compilers, linkers, and other tools. The formalization and proofs of the central CLOUDMAKE algorithms are done entirely in DAFNY, the proof engine of which is an SMT-based program verifier

    Flexible Invariants Through Semantic Collaboration

    Full text link
    Modular reasoning about class invariants is challenging in the presence of dependencies among collaborating objects that need to maintain global consistency. This paper presents semantic collaboration: a novel methodology to specify and reason about class invariants of sequential object-oriented programs, which models dependencies between collaborating objects by semantic means. Combined with a simple ownership mechanism and useful default schemes, semantic collaboration achieves the flexibility necessary to reason about complicated inter-object dependencies but requires limited annotation burden when applied to standard specification patterns. The methodology is implemented in AutoProof, our program verifier for the Eiffel programming language (but it is applicable to any language supporting some form of representation invariants). An evaluation on several challenge problems proposed in the literature demonstrates that it can handle a variety of idiomatic collaboration patterns, and is more widely applicable than the existing invariant methodologies.Comment: 22 page

    From Event-B models to Dafny code contracts

    No full text
    International audienceThe constructive approach to software correctness aims at formal modelling and verification of the structure and behaviour of a system in different levels of abstraction. In contrast, the analytical approach to software verification focuses on code level correctness and its verification. Therefore it would seem that the constructive and analytical approaches should complement each other well. To demonstrate this idea we present a case for linking two existing verification methods, Event-B (constructive) and Dafny (analytical). This approach combines the power of Event-B abstraction and its stepwise refinement with the verification capabilities of Dafny. We presented a small case study to demonstrate this approach and outline of the rules for transforming Event-B events to Dafny contracts. Finally, a tool for automatic generation of Dafny contracts from Event-B formal models is presented

    Automating Deductive Verification for Weak-Memory Programs

    Full text link
    Writing correct programs for weak memory models such as the C11 memory model is challenging because of the weak consistency guarantees these models provide. The first program logics for the verification of such programs have recently been proposed, but their usage has been limited thus far to manual proofs. Automating proofs in these logics via first-order solvers is non-trivial, due to reasoning features such as higher-order assertions, modalities and rich permission resources. In this paper, we provide the first implementation of a weak memory program logic using existing deductive verification tools. We tackle three recent program logics: Relaxed Separation Logic and two forms of Fenced Separation Logic, and show how these can be encoded using the Viper verification infrastructure. In doing so, we illustrate several novel encoding techniques which could be employed for other logics. Our work is implemented, and has been evaluated on examples from existing papers as well as the Facebook open-source Folly library.Comment: Extended version of TACAS 2018 publicatio

    GPUVerify: A Verifier for GPU Kernels

    Get PDF
    We present a technique for verifying race- and divergence-freedom of GPU kernels that are written in mainstream ker-nel programming languages such as OpenCL and CUDA. Our approach is founded on a novel formal operational se-mantics for GPU programming termed synchronous, delayed visibility (SDV) semantics. The SDV semantics provides a precise definition of barrier divergence in GPU kernels and allows kernel verification to be reduced to analysis of a sequential program, thereby completely avoiding the need to reason about thread interleavings, and allowing existing modular techniques for program verification to be leveraged. We describe an efficient encoding for data race detection and propose a method for automatically inferring loop invari-ants required for verification. We have implemented these techniques as a practical verification tool, GPUVerify, which can be applied directly to OpenCL and CUDA source code. We evaluate GPUVerify with respect to a set of 163 kernels drawn from public and commercial sources. Our evaluation demonstrates that GPUVerify is capable of efficient, auto-matic verification of a large number of real-world kernels
    corecore