47 research outputs found
Tools and Recommendations for Reproducible Teaching
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
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
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
Recommended from our members
Object technology: A white paper
Object-Oriented Technology (OOT), although not a new paradigm, has recently been prominently featured in the trade press and even general business publications. Indeed, the promises of object technology are alluring: the ability to handle complex design and engineering information through the full manufacturing production life cycle or to manipulate multimedia information, and the ability to improve programmer productivity in creating and maintaining high quality software. Groups at a number of the DOE facilities have been exploring the use of object technology for engineering, business, and other applications. In this white paper, the technology is explored thoroughly and compared with previous means of developing software and storing databases of information. Several specific projects within the DOE Complex are described, and the state of the commercial marketplace is indicated
Achieving Self-Sustainability in Interactive Graphical Programming Systems
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
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
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
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
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