Live programming is a style of development characterized by incremental change and immediate feedback. Instead of long edit-compile cycles, developers modify a running program by changing its source code, receiving immediate feedback as it instantly adapts in response. In this paper, we propose an approach to bridge the gap between running programs and textual domain-specific languages (DSLs). The first step of our approach consists of applying a novel model differencing algorithm, tmdiff, to the textual DSL code. By leveraging ordinary text differencing and origin tracking, tmdiff produces deltas defined in terms of the metamodel of a language. In the second step of our approach, the model deltas are applied at run time to update a running system, without having to restart it. Since the model deltas are derived from the static source code of the program, they are unaware of any run-time state maintained during model execution. We therefore propose a generic, dynamic patch architecture, rmpatch, which can be customized to cater for domain-specific state migration. We illustrate rmpatch in a case study of a live programming environment for a simple DSL implemented in Rascal for simultaneously defining and executing state machines.
DOCUMENT
Computational thinking (CT) skills are crucial for every modern profession in which large amounts of data are processed. In K-12 curricula, CT skills are often taught in separate programming courses. However, without specific instructions, CT skills are not automatically transferred to other domains in the curriculum when they are developed while learning to program in a separate programming course. In modern professions, CT is often applied in the context of a specific domain. Therefore, learning CT skills in other domains, as opposed to computer science, could be of great value. CT and domain-specific subjects can be combined in different ways. In the CT literature, a distinction can be made among CT applications that substitute, augment, modify or redefine the original subject. On the substitute level, CT replaces exercises but CT is not necessary for reaching the learning outcomes. On the redefining level, CT changes the questions that can be posed within the subject, and learning objectives and assessment are integrated. In this short paper, we present examples of how CT and history, mathematics, biology and language subjects can be combined at all four levels. These examples and the framework on which they are based provide a guideline for design-based research on CT and subject integration.
DOCUMENT
Background: Collaboration between Speech and Language Therapists (SLTs) and parents is considered best practice for children with developmental disorders. However, such collaborative approach is not yet implemented in therapy for children with developmental language disorders (DLD) in the Netherlands. Improving Dutch SLTs’ collaboration with parents requires insight in factors that influence the way SLTs work with parents. Aims: To explore the specific beliefs of Dutch SLTs that influence how they collaborate with parents of children with DLD. Methods and procedures: We conducted three online focus groups with 17 SLTs using a reflection tool and fictional examples of parents to prompt their thoughts, feelings and actions on specific scenarios. Data were organised using the Theoretical Domains Framework (TDF). Outcomes and results: We identified 34 specific beliefs across nine TDF domains on how SLTs collaborate with parents of children with DLD. The results indicate that SLTs hold beliefs on how to support SLTs in collaborating with parents but also conflicting specific beliefs regarding collaborative work with parents. The latter relate to SLTs’ perspectives on their professional role and identity, their approach towards parents, and their confidence and competence in working collaboratively with parents.
DOCUMENT
-Chatbots are being used at an increasing rate, for instance, for simple Q&A conversations, flight reservations, online shopping and news aggregation. However, users expect to be served as effective and reliable as they were with human-based systems and are unforgiving once the system fails to understand them, engage them or show them human empathy. This problem is more prominent when the technology is used in domains such as health care, where empathy and the ability to give emotional support are most essential during interaction with the person. Empathy, however, is a unique human skill, and conversational agents such as chatbots cannot yet express empathy in nuanced ways to account for its complex nature and quality. This project focuses on designing emotionally supportive conversational agents within the mental health domain. We take a user-centered co-creation approach to focus on the mental health problems of sexual assault victims. This group is chosen specifically, because of the high rate of the sexual assault incidents and its lifetime destructive effects on the victim and the fact that although early intervention and treatment is necessary to prevent future mental health problems, these incidents largely go unreported due to the stigma attached to sexual assault. On the other hand, research shows that people feel more comfortable talking to chatbots about intimate topics since they feel no fear of judgment. We think an emotionally supportive and empathic chatbot specifically designed to encourage self-disclosure among sexual assault victims could help those who remain silent in fear of negative evaluation and empower them to process their experience better and take the necessary steps towards treatment early on.