61,444 research outputs found

    A Logic-Independent IDE

    Full text link
    The author's MMT system provides a framework for defining and implementing logical systems. By combining MMT with the jEdit text editor, we obtain a logic-independent IDE. The IDE functionality includes advanced features such as context-sensitive auto-completion, search, and change management.Comment: In Proceedings UITP 2014, arXiv:1410.785

    The Implementation of Computational Thinking on Mathematics Learning Research: A Systematic Literature Review

    Get PDF
    The aim of this study is to describe the implementation of computational thinking research results on mathematics learning in Indonesia. The method used in this study is a systematic literature review (SLR) by using PRISMA (Preferred Reporting Items for Systematic Reviews and Meta-Analysis) protocol. The sample consists of 25 results of computational thinking research on mathematics learning, the sample is journal articles and proceedings published in 2019-2023. The description of this research will be reviewed based on the year of research, the level of education, research location, and research methods used. The results of the study show that (1) computational thinking research on mathematics learning has increased every year where 2022 become the year with the most number of publications, there are 15 articles, (2) 32% (8 articles) of computational thinking research on mathematics learning is conducted at the university level, (3) East Java is the province with the most research on computational thinking on mathematics learning, with 7 studies, (4) quantitative method is the method most frequently used in computational thinking research on mathematics learning in Indonesia, there are 12 studies that used quantitative method, and (5) students are able to perform abstraction and algorithm processes. However, they still have difficulty in performing the decomposition and pattern recognition processes

    Dealing with abstraction: Case study generalisation as a method for eliciting design patterns

    Get PDF
    Developing a pattern language is a non-trivial problem. A critical requirement is a method to support pattern writers with abstraction, so as they can produce generalised patterns. In this paper, we address this issue by developing a structured process of generalisation. It is important that this process is initiated through engaging participants in identifying initial patterns, i.e. directly dealing with the 'cold-start' problem. We have found that short case study descriptions provide a productive 'way into' the process for participants. We reflect on a 1-year interdisciplinary pan-European research project involving the development of almost 30 cases and over 150 patterns. We provide example cases, detailing the process by which their associated patterns emerged. This was based on a foundation for generalisation from cases with common attributes. We discuss the merits of this approach and its implications for pattern development

    Several types of types in programming languages

    Get PDF
    Types are an important part of any modern programming language, but we often forget that the concept of type we understand nowadays is not the same it was perceived in the sixties. Moreover, we conflate the concept of "type" in programming languages with the concept of the same name in mathematical logic, an identification that is only the result of the convergence of two different paths, which started apart with different aims. The paper will present several remarks (some historical, some of more conceptual character) on the subject, as a basis for a further investigation. The thesis we will argue is that there are three different characters at play in programming languages, all of them now called types: the technical concept used in language design to guide implementation; the general abstraction mechanism used as a modelling tool; the classifying tool inherited from mathematical logic. We will suggest three possible dates ad quem for their presence in the programming language literature, suggesting that the emergence of the concept of type in computer science is relatively independent from the logical tradition, until the Curry-Howard isomorphism will make an explicit bridge between them.Comment: History and Philosophy of Computing, HAPOC 2015. To appear in LNC

    Multicore Max-Flow using GraphBLAS: A Usability Study

    Get PDF
    Optimizing linear algebra operations has been a research topic for decades. The compact language of mathematics also produce lean, maintainable code. Using linear algebra as a high-level abstraction for graph operations is therefore very attractive. In this work, we will explore the usability of the GraphBLAS framework, currently the leading standard for graph operations that uses linear algebra as an abstraction. We analyze the usability of GraphBLAS by using it to implement the Edmonds-Karp algorithm for s-t maximum-flow/minimum-cut. To our knowledge, this work represents the first published results of Max-Flow in GraphBLAS. The result of our novel implementation was an algorithm that achieved a speedup of up to 11 over its own baseline, and is surprisingly compact and easy to reason about

    Hiding in Plain Sight: Identifying Computational Thinking in the Ontario Elementary School Curriculum

    Get PDF
    Given a growing digital economy with complex problems, demands are being made for education to address computational thinking (CT) – an approach to problem solving that draws on the tenets of computer science. We conducted a comprehensive content analysis of the Ontario elementary school curriculum documents for 44 CT-related terms to examine the extent to which CT may already be considered within the curriculum. The quantitative analysis strategy provided frequencies of terms, and a qualitative analysis provided information about how and where terms were being used. As predicted, results showed that while CT terms appeared mostly in Mathematics, and concepts and perspectives were more frequently cited than practices, related terms appeared across almost all disciplines and grades. Findings suggest that CT is already a relevant consideration for educators in terms of concepts and perspectives; however, CT practices should be more widely incorporated to promote 21st century skills across disciplines. Future research would benefit from continued examination of the implementation and assessment of CT and its related concepts, practices, and perspectives

    The mathematical components of engineering expertise: the relationship between doing and understanding mathematics

    Get PDF
    this paper are extracts from our interviews with engineers.) Where, then, is the complex mathematics that certainly exists in modern engineering? Throughout all aspects of engineering design, computer software has an overwhelming presence. Also, in the particular firm that we visited, there a small number of analytical specialists (a few per cent of the professional engineers employed) who act as consultants for the mathematical/analytical problems which the general design engineers cannot readily solve. (In general in structural engineering, such specialist work is often carried out by external consultants, eg. academic researchers

    Finite difference methods fengshui: alignment through a mathematics of arrays

    Get PDF
    Numerous scientific-computational domains make use of array data. The core computing of the numerical methods and the algorithms involved is related to multi-dimensional array manipulation. Memory layout and the access patterns of that data are crucial to the optimal performance of the array-based computations. As we move towards exascale computing, writing portable code for efficient data parallel computations is increasingly requiring an abstract productive working environment. To that end, we present the design of a framework for optimizing scientific array-based computations, building a case study for a Partial Differential Equations solver. By embedding the Mathematics of Arrays formalism in the Magnolia programming language, we assemble a software stack capable of abstracting the continuous high-level application layer from the discrete formulation of the collective array-based numerical methods and algorithms and the final detailed low-level code. The case study lays the groundwork for achieving optimized memory layout and efficient computations while preserving a stable abstraction layer independent of underlying algorithms and changes in the architecture.Peer ReviewedPostprint (author's final draft
    • …
    corecore