61,444 research outputs found
A Logic-Independent IDE
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
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
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
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
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
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
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
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
- …