calculational method

Showing results in 'Publications'. Show all posts
Mendes A, Backhouse R, Ferreira JF.  2014.  Structure Editing of Handwritten Mathematics -- Improving the Computer Support for the Calculational Method. ACM International Conference on Interactive Tabletops and Surfaces (ITS 2014). Abstract2014-structureeditinghandwrittenmathematics.pdf

We present a structure editor that aims to facilitate the presentation and manipulation of handwritten mathematical expressions. The editor is oriented to the calculational mathematics involved in algorithmic problem solving and it provides features that allow reliable structure manipulation of mathematical formulae, as well as flexible and interactive presentations. We describe some of its most important features, including the use of gestures to manipulate algebraic formulae, the structured selection of expressions, definition and redefi- nition of operators in runtime, gesture’s editor, and handwrit- ten templates. The editor is made available in the form of a C# class library which can be easily used to extend existing tools. For example, we have extended Classroom Presenter,a tool for ink-based teaching presentations and classroom interaction. We have tested and evaluated the editor with target users. The results obtained seem to indicate that the software is usable, suitable for its purpose and a valuable contribution to teaching and learning algorithmic problem solving.

Ferreira JF, Mendes A.  2009.  Students' feedback on teaching mathematics through the calculational method. 39th IEEE Frontiers in Education Conference (FIE'09). :1-6. Abstract2009-studentsfeedback.pdf

This paper describes a study conducted at the University of Nottingham, whose goal was to assess whether the students registered on the first-year module "Mathematics for Computer Scientists" appreciate the calculational method. The study consisted of two parts: Proof Reading and Problem Solving. The goal of "Proof Reading" was to determine what the students think of calculational proofs, compared with more conventional ones, and which are easier to verify; we also assessed how their opinions changed during the term. The purpose of "Problem Solving" was to determine if the methods taught have influenced the students' problem-solving skills. Frequent criticisms of our approach are that we are too formal and that the emphasis on syntactic manipulation hinders students' understanding. Nevertheless, the results show that most students prefer or understand better the calculational proofs. On the other hand, regarding the problem-solving questions, we observed that, in general, the students maintained their original solutions.

Ferreira JF, Mendes A.  2015.  A calculational approach to path-based properties of the Eisenstein–Stern and Stern–Brocot trees via matrix algebra. Journal of Logical and Algebraic Methods in Programming. Abstract2015-ferreiramendes-calcpathbased-final.pdf

This paper proposes a calculational approach to prove properties of two well-known binary trees used to enumerate the rational numbers: the Stern–Brocot tree and the Eisenstein–Stern tree (also known as Calkin–Wilf tree). The calculational style of reasoning is enabled by a matrix formulation that is well-suited to naturally formulate path-based properties, since it provides a natural way to refer to paths in the trees.

Three new properties are presented. First, we show that nodes with palindromic paths contain the same rational in both the Stern–Brocot and Eisenstein–Stern trees. Second, we show how certain numerators and denominators in these trees can be written as the sum of two squares x2 and y2, with the rational View the MathML source appearing in specific paths. Finally, we show how we can construct Sierpiński's triangle from these trees of rationals.

Backhouse R, Ferreira JF.  2011.  On Euclid's Algorithm and Elementary Number Theory. Science of Computer Programming. 76(3):160-180. Abstract2011-oneuclidsalgorithm.pdf

Algorithms can be used to prove and to discover new theorems. This paper shows how algorithmic skills in general, and the notion of invariance in particular, can be used to derive many results from Euclid’s algorithm. We illustrate how to use the algorithm as a verification interface (i.e., how to verify theorems) and as a construction interface (i.e., how to investigate and derive new theorems). The theorems that we verify are well-known and most of them are included in standard number-theory books. The new results concern distributivity properties of the greatest common divisor and a new algorithm for efficiently enumerating the positive rationals in two different ways. One way is known and is due to Moshe Newman. The second is new and corresponds to a deforestation of the Stern-Brocot tree of rationals. We show that both enumerations stem from the same simple algorithm. In this way, we construct a Stern-Brocot enumeration algorithm with the same time and space complexity as Newman’s algorithm. A short review of the original papers by Stern and Brocot is also included.

Ferreira JF.  2010.  Principles and Applications of Algorithmic Problem Solving. Abstractthesis-a4-colour.pdf

Algorithmic problem solving provides a radically new way of approaching and solving problems in general by using the advances that have been made in the basic principles of correct-by-construction algorithm design. The aim of this thesis is to provide educational material that shows how these advances can be used to support the teaching of mathematics and computing.
We rewrite material on elementary number theory and we show how the focus on the algorithmic content of the theory allows the systematisation of existing proofs and, more importantly, the construction of new knowledge in a practical and elegant way. For example, based on Euclid’s algorithm, we derive a new and efficient algorithm to enumerate the positive rational numbers in two different ways, and we develop a new and constructive proof of the two-squares theorem. Because the teaching of any subject can only be effective if the teacher has access to abundant and sufficiently varied educational material, we also include a catalogue of teaching scenarios. Teaching scenarios are fully worked out solutions to algorithmic problems together with detailed guidelines on the principles captured by the problem, how the problem is tackled, and how it is solved. Most of the scenarios have a recreational flavour and are designed to promote self-discovery by the students. Based on the material developed, we are convinced that goal-oriented, calculationa algorithmic skills can be used to enrich and reinvigorate the teaching of mathematics and computing.