47 research outputs found

    Tools and Recommendations for Reproducible Teaching

    Get PDF
    It is recommended that teacher-scholars of data science adopt reproducible workflows in their research as scholars and teach reproducible workflows to their students. In this article, we propose a third dimension to reproducibility practices and recommend that regardless of whether they teach reproducibility in their courses or not, data science instructors adopt reproducible workflows for their own teaching. We consider computational reproducibility, documentation, and openness as three pillars of reproducible teaching framework. We share tools, examples, and recommendations for the three pillars

    Loom: Unifying Client-Side Web Technologies in a Single Programming Language

    Get PDF
    Modern client-centred web applications typically depend on a set of complementary languages to control different layers of abstraction in their interfaces: the behaviour, structure, and presentation layers (in order, traditionally: JavaScript, HTML, and CSS). Applications with dynamic interfaces whose structure and presentation depend on the data and state of the application require tight links between such layers; however, communicating between them is often non-trivial or simply cumbersome, mainly because they are effectively distinct languages—each with a specific way of being interacted with. Numerous technologies have been introduced in an attempt to simplify the interaction between the multiple layers; their main focus so far, however, regards the communication between structure and behaviour—leaving room for improvement in the field of presentation. This dissertation presents Loom: a novel reactive programming language that unifies the enunciated abstraction layers of a client-side web application. Loom allows the specification of an interface’s structure and presentation in a declarative, data-dependent, and reactive manner by means of signals—values that change over time—inspired by the field of functional reactive programming: reactive meaning that when the structure and presentation of an interface depend on application-data, changes to said data cause an automatic update of the application’s interface. We provide an implementation of the language’s compiler that allows the creation of interfaces with performance comparable to that of most existent frameworks

    Introduction to Assembly Language Programming: From Soup to Nuts: ARM Edition

    Get PDF
    This is an ARM Assembly Language Textbook designed to be used in classes such as Computer Organization, Operating Systems, Compilers, or any other class that needs to provide the students with a overall of Arm Assembly Language. As with all Soup to Nuts books, it is intended to be a resource where each chapter builds on the material from previous chapters, and leads the reader from a rudimentary knowledge of assembly language to a point where they can use it in their studies.https://cupola.gettysburg.edu/oer/1007/thumbnail.jp

    Achieving Self-Sustainability in Interactive Graphical Programming Systems

    Get PDF
    Programming is fraught with accidental complexity. Software, including tools used for programming, is inflexible and hard to adapt to one's specific problem context. Programming tools do not support Notational Freedom, so programmers must waste cognitive effort expressing ideas in suboptimal notations. They must also work around problems caused by a reliance on plain text representations instead of Explicit Structure. The idea of a Self-Sustainable programming system, open to adaptation by its users, promises a way out of these accidental complexities. However, the principles underlying such a property are poorly documented, as are methods for practically achieving it in harmony with Notational Freedom and Explicit Structure. We trace the causes of this difficulty and use them to inform our construction of a prototype self-sustainable system. By carefully reflecting on the steps involved in our specific case, we provide insight into how self-sustainability can be achieved in general, and thus how a motivated programmer can escape the aforementioned sources of accidental complexity

    UNDERWATER DATA COMMUNICATION PACKAGE

    Get PDF
    This project concentrates on simplified and innovated technology to develop an efficient software package for Underwater Acoustic (UWA) communication nfrich helps researcher to have better understanding of the behavior of undemmter acoustic network, to cater for the UTP in-house research needs and to set up the relevant basic underwater acoustic communication laboratory based testbed. The existing simulation tool, particularly NS2 can give reseanchers some bosic uderstanding of underwater network, and this requires certain level of knowledge in C++, TCL and most importantly understating the infrastnrcture of the simulation Howwer, researchers will find out that they are not able to simularc the real underurer environment. This project would tackle problems existed in softunare development by utilizing Windows Foundation Presentation Technology and Model View ViewModel architecture which is an architectrral pat&ern mostly used in softnnare engineering that originated frrom Microsoft. The author believes that this softu/arc package will enable students/ reseachers to pcrform their studies and testing in areal lab based environment with a minimum amount of effor

    Deep R Programming

    Full text link
    Deep R Programming is a comprehensive course on one of the most popular languages in data science (statistical computing, graphics, machine learning, data wrangling and analytics). It introduces the base language in-depth and is aimed at ambitious students, practitioners, and researchers who would like to become independent users of this powerful environment. This textbook is a non-profit project. Its online and PDF versions are freely available at . This early draft is distributed in the hope that it will be useful.Comment: Draft: v0.2.1 (2023-04-27

    Modeling second language learners' interlanguage and its variability: a computer-based dynamic assessment approach to distinguishing between errors and mistakes

    Get PDF
    Despite a long history, interlanguage variability research is a debatable topic as most paradigms do not distinguish between competence and performance. While interlanguage performance has been proven to be variable, determining whether interlanguage competence is exposed to random and/or systematic variations is complex, given the fact that distinction between competence-dependent errors and performance-related mistakes should be established to best represent the interlanguage competence. This thesis suggests a dynamic assessment model grounded in sociocultural theory to distinguish between errors and mistakes in texts written by learners of French, to then investigate the extent to which interlanguage competence varies across time, text types, and students. The key outcomes include: 1. An expanded model based on dynamic assessment principles to distinguish between errors and mistakes, which also provides the structure to create and observe learners’ zone of proximal development; 2. A method to increase the accuracy of the part-of-speech tagging procedure whose reliability correlates with the number of incorrect words contained in learners’ texts; 3. A sociocultural insight into interlanguage variability research. Results demonstrate that interlanguage competence is as variable as performance. The main finding shows that knowledge over time is subject to not only systematic, but also unsystematic variations

    Extending the Finite Domain Solver of GNU Prolog

    No full text
    International audienceThis paper describes three significant extensions for the Finite Domain solver of GNU Prolog. First, the solver now supports negative integers. Second, the solver detects and prevents integer overflows from occurring. Third, the internal representation of sparse domains has been redesigned to overcome its current limitations. The preliminary performance evaluation shows a limited slowdown factor with respect to the initial solver. This factor is widely counterbalanced by the new possibilities and the robustness of the solver. Furthermore these results are preliminary and we propose some directions to limit this overhead
    corecore