320,091 research outputs found

    A Universal Machine for Biform Theory Graphs

    Full text link
    Broadly speaking, there are two kinds of semantics-aware assistant systems for mathematics: proof assistants express the semantic in logic and emphasize deduction, and computer algebra systems express the semantics in programming languages and emphasize computation. Combining the complementary strengths of both approaches while mending their complementary weaknesses has been an important goal of the mechanized mathematics community for some time. We pick up on the idea of biform theories and interpret it in the MMTt/OMDoc framework which introduced the foundations-as-theories approach, and can thus represent both logics and programming languages as theories. This yields a formal, modular framework of biform theory graphs which mixes specifications and implementations sharing the module system and typing information. We present automated knowledge management work flows that interface to existing specification/programming tools and enable an OpenMath Machine, that operationalizes biform theories, evaluating expressions by exhaustively applying the implementations of the respective operators. We evaluate the new biform framework by adding implementations to the OpenMath standard content dictionaries.Comment: Conferences on Intelligent Computer Mathematics, CICM 2013 The final publication is available at http://link.springer.com

    Constructive Mathematics in Theory and Programming Practice

    Get PDF
    The first part of the paper introduces the varieties of modern constructive mathematics, concentrating on Bishop’s constructive mathematics(BISH). It gives a sketch of both Myhill’s axiomatic system for BISH and a constructive axiomatic development of the real line R. The second part of the paper focuses on the relation between constructive mathematics and programming, with emphasis on Martin-Lof’s theory of types as a formal system for BISH

    Mathematical Programming Decoding of Binary Linear Codes: Theory and Algorithms

    Full text link
    Mathematical programming is a branch of applied mathematics and has recently been used to derive new decoding approaches, challenging established but often heuristic algorithms based on iterative message passing. Concepts from mathematical programming used in the context of decoding include linear, integer, and nonlinear programming, network flows, notions of duality as well as matroid and polyhedral theory. This survey article reviews and categorizes decoding methods based on mathematical programming approaches for binary linear codes over binary-input memoryless symmetric channels.Comment: 17 pages, submitted to the IEEE Transactions on Information Theory. Published July 201

    Functional programming applied to computational algebra

    Get PDF
    2018 Fall.Includes bibliographical references.Underlying many, if not all, areas of mathematics is category theory, an alternative to set theory as a foundation that formalizes mathematical structures and relations between them. These relations abstract the idea of a function, an abstraction used throughout mathematics as well as throughout programming. However, there is a disparity between the definition of a function used in mathematics from that used in mainstream programming. For mathematicians to utilize the power of programming to advance their mathematics, there is a demand for a paradigm of programming that uses mathematical functions, as well as the mathematical categories that support them, as the basic building blocks, enabling programs to be built by clever mathematics. This paradigm is functional programming. We wish to use functional programming to represent our mathematical structures, especially those used in computational algebra

    High school mathematics marks as an admission criterion for entry into programming courses at a South African university

    Get PDF
    Abstract: In this study, the assumption that good performance in mathematics in the final school year could be used as a pre-entry requirement to programming courses at universities in South Africa, is challenged. The extant literature reports positive relationships between mathematics performance and success in programming courses. As computer programming modules in higher education institutions (HEIs) are typically characterised by low success rates, it becomes important to eliminate potentially erroneous entry requirements. The low success rate in programming modules is ascribed to the abstract nature and content of programming courses, and the inadequacy of pre-university education to prepare students for the cognitive skills required for success in such programmes. This paper reports on a single independent variable, ‘performance in high school mathematics’, and its relationship to performance in two computer programming courses. The dataset comprised the school marks of four cohorts of students who were enrolled for the programming modules between 2012 and 2015. Firstly, we computed the point-biserial correlation between a dichotomous variable that indicated whether students had mathematics as a subject in Grade 12 or not, and their performance in the programming modules. Once we established that a relationship existed, the marks achieved in the final school year for mathematics, and performance in two programming modules were correlated. Results indicated that the school mathematics marks correlate only marginally, and that correlations were not significant, with performance in the two programming courses. We also correlated the school mathematical literacy marks with performance in the two programming courses, and found that a strong positive correlation that was significant existed with the second semester programming course. We conclude that the mark achieved for school mathematics cannot be considered as a valid admission criterion for programming courses in the South African context

    Integrated programming and mathematics in schools - A solid fundation for a future engineering education?

    Get PDF
    The interest in programming in schools has the last decade increased, and many countries have introduced programming as part of the school curriculum. Teaching of programming to students in primary and secondary school is often focused on the computer sciences aspect of programming. The current study is a part of the recently initiated research project “Programming for understanding mathematics” which has a different emphasis; the project investigates how the mathematical competence of the students are affected by actively using programming in mathematics lessons. In this paper, a recognized analytical framework for analysing the cognitive demand of mathematical tasks is presented. We extend the framework to include the analysis of tasks that utilize programming, allowing us to distinguish between tasks that are demanding due to the mathematical content, but the programming aspect of the task is trivial, and tasks that are cognitive demanding due to complex programming, but the mathematics is simple. We use the extended framework to analyse tasks in four mathematics textbooks written for 16-17 year old students by two major publishers in Norway. The results show that the tasks provided in the textbooks mainly focus on elementary programming skills, and the tasks give limited experiences with cognitive demanding programming tasks

    The professional identities of prospective mathematics teachers who teach through programming

    Get PDF
    As has been the case in many countries around the world, the new Norwegian curriculum from 2020 included programming as part of mathematics education. However, little is known about how prospective teachers perceive this addition in regard to their developing professional identities. When the results from an electronic survey of 394 prospective teachers showed unexpected findings, five of the subjects were asked to participate in a focus group interview in order to explore some of these results. The focus group interview was conducted to understand how prospective teachers considered the past, present and future aspects of their professional identities as teachers of mathematics through programming. The results reveal that, although the prospective teachers had little experience of programming, they were positive regarding its implementation in mathematics lessons because they identified themselves as digital natives; they therefore believed that learning to program would be easy. They aligned themselves with their students, as masters of technology, in contrast to their future colleagues, whom they implicitly described as digital immigrants. The findings of this study have implications for teacher education. Even if the prospective teachers have a positive attitude toward programming and consider themselves digitally competent, a limited understanding of how programming can be integrated into their mathematics teaching will affect the identities that they see for themselves as teachers who teach mathematics through programming.publishedVersio
    corecore