2,423 research outputs found

    Refactoring Functional Programs

    Get PDF
    Refactoring is the process of redesigning existing code without changing its functionality. Refactoring has recently come to prominence in the OO community. In this paper we explore the prospects for refactoring functional programs. Our paper centres on the case study of refactoring a 400 line Haskell program written by one of our students. The case study illustrates the type and variety of program manipulations involved in refactoring. Similarly to other program transformations, refactorings are based on program equivalences, and thus ultimately on language semantics. In the context of functional languages, refactorings can be based on existing theory and program analyses. However, the use of program transformations for program restructuring emphasises a different kind of transformation from the more traditional derivation or optimisation: characteristically, they often require wholesale changes to a collection of modules, and although they are best controlled by programmers, their application may require nontrivial semantic analyses. The paper also explores the background to refactoring, provides a taxonomy for describing refactorings and draws some conclusions about refactoring for functional programs

    Reflective writing analytics for actionable feedback

    Full text link
    © 2017 ACM. Reflective writing can provide a powerful way for students to integrate professional experience and academic learning. However, writing reflectively requires high quality actionable feedback, which is time-consuming to provide at scale. This paper reports progress on the design, implementation, and validation of a Reflective Writing Analytics platform to provide actionable feedback within a tertiary authentic assessment context. The contributions are: (1) a new conceptual framework for reflective writing; (2) a computational approach to modelling reflective writing, deriving analytics, and providing feedback; (3) the pedagogical and user experience rationale for platform design decisions; and (4) a pilot in a student learning context, with preliminary data on educator and student acceptance, and the extent to which we can evidence that the software provided actionable feedback for reflective writing

    Integrating intelligent methodological and tutoring assistance in a CASE platform: The PANDORA experience

    Get PDF
    Database Design discipline involves so different aspects as conceptual and logical modelling knowledge or domain understanding. That implies a great effort to carry out the real world abstraction task and represent it through a data model. CASE tools emerge in order to automating the database development process. These platforms try to help to the database designer in different database design phases. Nevertheless, this tools are frequently mere diagrammers and do not carry completely out the design methodology that they are supposed to support; furthermore, they do not offer intelligent methodological advice to novice designers. This paper introduces the PANDORA tool (acronym of Platform for Database Development and Learning via Internet) that is being developed in a research project which tries to mitigate some of the deficiencies observed in several CASE tools, defining methods and techniques for database development which are useful for students and practitioners. Specifically, this work is focused on two PANDORA components: Conceptual Modelling and Learning Support subsystems

    Applications of semantic web technology to support learning content development

    Get PDF
    The Semantic Web is based on ontology technology – a knowledge representation framework – at its core to make meaning explicit and more accessible to automatic processing. We discuss the potential of this technology for the development of content for learning technology systems. We survey seven application types demonstrating different forms of applications of ontologies and the Semantic Web in the development of learning technology systems. Ontology technologies can assist developers, instructors, and learners to organise, personalise, and publish learning content and to discover, generate, and compose learning content. A conceptual content development and deployment architecture allows us to distinguish and locate the different applications and to dis-cuss and assess the potential of the underlying technologies

    Supporting the Reflective Learning of Conceptual Modeling Using Interactive Timelines and Replays

    Get PDF
    It is not a trivial task to teach “good” conceptual modeling in a structured way. One problem we encountered in our previous exploratory studies is the predominant reflection of the quality of finished models and less of the modeling process itself. As a result, many phenomena like the emergence of errors or the coordination and collaboration phases in group modeling usually get out of focus and are subsequently not thoroughly considered in teaching. Thus, we have developed a tool-supported timeline method, which allows us to review and discuss the collaborative development process of models after they have been finished or submitted. We evaluated the method and employed a variety of tool features in our regular undergrad courses. Considering the perspective and experiences of teachers and learners alike, we discovered that teachers can use our method to better analyze strategies and made mistakes when enough time to prepare the reflection, even if this increases the time distance to the event it is reflected on. Learners were motivated to share and reflect on their actions. Furthermore, we identified further steps to facilitate our reflective modeling teaching method

    Knowledge representation and text mining in biomedical, healthcare, and political domains

    Get PDF
    Knowledge representation and text mining can be employed to discover new knowledge and develop services by using the massive amounts of text gathered by modern information systems. The applied methods should take into account the domain-specific nature of knowledge. This thesis explores knowledge representation and text mining in three application domains. Biomolecular events can be described very precisely and concisely with appropriate representation schemes. Protein–protein interactions are commonly modelled in biological databases as binary relationships, whereas the complex relationships used in text mining are rich in information. The experimental results of this thesis show that complex relationships can be reduced to binary relationships and that it is possible to reconstruct complex relationships from mixtures of linguistically similar relationships. This encourages the extraction of complex relationships from the scientific literature even if binary relationships are required by the application at hand. The experimental results on cross-validation schemes for pair-input data help to understand how existing knowledge regarding dependent instances (such those concerning protein–protein pairs) can be leveraged to improve the generalisation performance estimates of learned models. Healthcare documents and news articles contain knowledge that is more difficult to model than biomolecular events and tend to have larger vocabularies than biomedical scientific articles. This thesis describes an ontology that models patient education documents and their content in order to improve the availability and quality of such documents. The experimental results of this thesis also show that the Recall-Oriented Understudy for Gisting Evaluation measures are a viable option for the automatic evaluation of textual patient record summarisation methods and that the area under the receiver operating characteristic curve can be used in a large-scale sentiment analysis. The sentiment analysis of Reuters news corpora suggests that the Western mainstream media portrays China negatively in politics-related articles but not in general, which provides new evidence to consider in the debate over the image of China in the Western media

    Tuotemallien tarkistuksen metriikan kehitys ja automaatio

    Get PDF
    A lot of interest and research has been focused on product quality and it is recognized as a crucial aspect of engineering. The quality of product models can also be seen as essential in engineering workflow especially in systems based on downstream data. Model quality effects not only the models accuracy and modifiability but also the agility of the whole engineering systems. Careful and thorough verification plays an important part in effecting product model quality. Verifying product models and designs manually can be laborious and time-consuming process. By automating parts of the verification process, benefits can be seen in the time frame and end results of the verification. The goal of the thesis is to develop metrics and automation for product model verification. Development of metrics is executed by researching literature for model quality metrics and construct a set of metrics for the company. Furthermore, the possibilities of product model verification automation are studied and a working automated model verification tool shall be created based on the metrics. The tool is intended be used in the current modeling environment. The outcomes of this thesis are a list of product quality dimensions with their corresponding metrics and a customized PTC ModelCHECK check that can automatically identify issues in product models. Quality dimensions were identified based on company needs and literature research. ModelCHECK platform was chosen for verification tool development as the software is readily available for the company which means it is a cost-effective way of utilizing automated product model verification in current design environment.Tuotteiden laatuun on jo pidemmän aikaa kiinnitetty paljon huomiota insinööriprosesseissa ja tutkimuksessa. Myös tuotemallien laatu voidaan nähdä insinöörityön kannalta elintärkeässä asemassa, erityisesti systeemeissä jotka perustuvat alaspäin virtaavaan tietoon. Mallien laatu vaikuttaa muun muassa sen tarkkuuteen ja muokattavuuteen sekä koko mallinnus- ja suunnittelujärjestelmän ketteryyteen. Huolellinen ja läpikotainen tarkistus on tärkeä osa tuotemallien laadun kehittämistä. Mallien manuaalinen tarkastaminen voi olla työlästä ja aikaavievää. Käyttämällä automaatiota tarkistuksen apuna, voidaan saavuttaa etuja tarkistuksen nopeudessa ja lopputuloksessa. Tämän diplomityön tavoitteena on kehittää tuotemallien tarkastuksen metriikkaa ja automaatiota. Metriikan kehitys perustuu kirjallisuustutkimukseen sekä muun muassa haastatteluissa kartoitettuihin yrityksen tarpeisiin. Tavoitteena on luoda tuotemalleille metriikkaa, joita vasten niiden ominaisuuksia voidaan arvioida. Myös tarkistuksen automaatiota tutkitaan ja tavoitteena on luoda automaattinen työkalu, jota voidaan käyttää yrityksen tämän hetkisessä suunnittelujärjestelmässä. Tutkimuksen lopputuloksena syntyi lista tuotemallien laadun ulottuvuuksista niihin liitetyillä metriikoilla ja metriikan mukainen PTC ModelCHECK tarkistuspohja 3D-malleille, joka löytyy automaattisesti virheitä malleista. ModelCHECK valittiin työkaluksi, koska se on valmiiksi saatavilla yrityksen nykyisessä mallinnusjärjestelmässä, joilloin automatisointi on erittäin kustannustehokasta

    The future of technology enhanced active learning – a roadmap

    Get PDF
    The notion of active learning refers to the active involvement of learner in the learning process, capturing ideas of learning-by-doing and the fact that active participation and knowledge construction leads to deeper and more sustained learning. Interactivity, in particular learnercontent interaction, is a central aspect of technology-enhanced active learning. In this roadmap, the pedagogical background is discussed, the essential dimensions of technology-enhanced active learning systems are outlined and the factors that are expected to influence these systems currently and in the future are identified. A central aim is to address this promising field from a best practices perspective, clarifying central issues and formulating an agenda for future developments in the form of a roadmap

    An affinity analysis based CIM-to-PIM transformation

    Get PDF
    To tackle the problems such as the imperfection and inconsistency in software requirements in traditional Computation Independent Model (CIM) modelling, the low degree of automation as well as the imperfection in the description of Platform Independent Model (PIM) in CIM-to-PIM transforming, in this article, we propose a Business-Process-based CIM modelling method and a CIM-to-PIM transformation approach. Business Process Model is used to express CIM, and UML‘s Sequence Diagram, State Chart Diagram as well as Class Diagram are used to express PIM. Firstly, the users’ requirements are obtained through business process models. We extract use cases from business processes and create use case specifications. A verification mechanism is also added for the use case specification. Secondly, we transform CIMs into PIMs automatically with use case specifications as the inputs as well as combining with use case based thinking, responsibility based thinking and affinity analysis. Finally, by comparing with the methods in other studies, we conclude that methods proposed in this article can ensure model integrity and increase the degree of model transformation automation
    corecore