121,518 research outputs found
Tools for modelling support and construction of optimization applications
We argue the case for an open systems approach towards modelling and application support. We discuss how the 'usability' and 'skills' analysis naturally leads to a viable strategy for integrating application construction with modelling tools and optimizers. The role of the implementation environment is also seen to be critical in that it is retained as a building block within the resulting system
Research questions and approaches for computational thinking curricula design
Teaching computational thinking (CT) is argued to be necessary but also admitted to be a very challenging task. The reasons for this, are: i) no general agreement on what computational thinking is; ii) no clear idea nor evidential support on how to teach CT in an effective way. Hence, there is a need to develop a common approach and a shared understanding of the scope of computational thinking and of effective means of teaching CT. Thus, the consequent ambition is to utilize the preliminary and further research outcomes on CT for the education of the prospective teachers of secondary, further and higher/adult education curricula
Recommended from our members
Computer assisted mathematical programming
A Computer Assisted Mathematical Programming (Modelling) System (CAMPS) is described in this paper. The system uses program generator techniques for model creation and contrasts with earlier approaches which use a special purpose language to construct models. Thus no programming skill is required to formulate a model. In designing the system we have first analysed the salient components of the mathematical programming activity. A mathematical programming model is usually constructed by progressive definition of dimensions, data tables, model variables, model constraints and the matrix coefficients which connect the last two entities. Computer assistance is provided to structure the data and the resulting model in the above sequence. In addition to this novel feature and the automatic documentation facility, the system is in line with recent developments, and incorporates a friendly and flexible user interface
Abstract State Machines 1988-1998: Commented ASM Bibliography
An annotated bibliography of papers which deal with or use Abstract State
Machines (ASMs), as of January 1998.Comment: Also maintained as a BibTeX file at http://www.eecs.umich.edu/gasm
Isabelle/PIDE as Platform for Educational Tools
The Isabelle/PIDE platform addresses the question whether proof assistants of
the LCF family are suitable as technological basis for educational tools. The
traditionally strong logical foundations of systems like HOL, Coq, or Isabelle
have so far been counter-balanced by somewhat inaccessible interaction via the
TTY (or minor variations like the well-known Proof General / Emacs interface).
Thus the fundamental question of math education tools with fully-formal
background theories has often been answered negatively due to accidental
weaknesses of existing proof engines.
The idea of "PIDE" (which means "Prover IDE") is to integrate existing
provers like Isabelle into a larger environment, that facilitates access by
end-users and other tools. We use Scala to expose the proof engine in ML to the
JVM world, where many user-interfaces, editor frameworks, and educational tools
already exist. This shall ultimately lead to combined mathematical assistants,
where the logical engine is in the background, without obstructing the view on
applications of formal methods, formalized mathematics, and math education in
particular.Comment: In Proceedings THedu'11, arXiv:1202.453
Recommended from our members
Preparing sparse solvers for exascale computing.
Sparse solvers provide essential functionality for a wide variety of scientific applications. Highly parallel sparse solvers are essential for continuing advances in high-fidelity, multi-physics and multi-scale simulations, especially as we target exascale platforms. This paper describes the challenges, strategies and progress of the US Department of Energy Exascale Computing project towards providing sparse solvers for exascale computing platforms. We address the demands of systems with thousands of high-performance node devices where exposing concurrency, hiding latency and creating alternative algorithms become essential. The efforts described here are works in progress, highlighting current success and upcoming challenges. This article is part of a discussion meeting issue 'Numerical algorithms for high-performance computational science'
The use of data-mining for the automatic formation of tactics
This paper discusses the usse of data-mining for the automatic formation of tactics. It was presented at the Workshop on Computer-Supported Mathematical Theory Development held at IJCAR in 2004. The aim of this project is to evaluate the applicability of data-mining techniques to the automatic formation of tactics from large corpuses of proofs. We data-mine information from large proof corpuses to find commonly occurring patterns. These patterns are then evolved into tactics using genetic programming techniques
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
- …