Logic Training through Algorithmic Problem Solving

Although much of mathematics is algorithmic in nature, the skills needed to formulate and solve algorithmic problems do not form an integral part of mathematics education. In particular, logic, which is central to algorithm development, is rarely taught explicitly at preuniversity level, under the justification that it is implicit in mathematics and therefore does not need to be taught as an independent topic. This paper argues in the opposite direction, describing a one-week workshop done at the University of Minho, in Portugal, whose goal was to introduce to high-school students calculational principles and techniques of algorithmic problem solving supported by calculational logic. The workshop resorted to recreational problems to convey the principles and to software tools, the Alloy Analyzer and Netlogo, to animate models.

[1]  Joao Fernando Peixoto Ferreira,et al.  Principles and applications of algorithmic problem solving , 2011 .

[2]  W. D. Cairns THE MATHEMATICAL ASSOCIATION OF AMERICA. , 1917, Science.

[3]  Erik Poll,et al.  Algebra of Programming by Richard Bird and Oege de Moor, Prentice Hall, 1996 (dated 1997). , 1999 .

[4]  Roland Carl Backhouse,et al.  Elements of a Relational Theory of Datatypes , 1993, Formal Program Development.

[5]  Peter Winkler PuzzledUnderstanding relationships among numbers , 2009, CACM.

[6]  Richard S. Bird,et al.  Algebra of programming , 1997, Prentice Hall International series in computer science.

[7]  Roland Backhouse Mathematics and Programming A Revolution in the Art of Eective Reasoning , 2001 .

[8]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[9]  Ross A. Honsberger,et al.  In Polya's Footsteps: Miscellaneous Problems and Essays , 1997 .

[10]  W. H. J. Feijen,et al.  Beauty Is Our Business , 1990, Texts and Monographs in Computer Science.

[11]  Joakim Wright von,et al.  Structured Derivations: A Method for Doing High-School Mathematics Carefully , 1999 .

[12]  Edsger W. Dijkstra On the Economy of doing Mathematics , 1992, MPC.

[13]  Bernhard Möller,et al.  Formal Program Development , 1993, Lecture Notes in Computer Science.

[14]  Fred B. Schneider,et al.  A Logical Approach to Discrete Math , 1993, Texts and Monographs in Computer Science.

[15]  A. J. M. van Gasteren,et al.  On the Shape of Mathematical Arguments , 1990, Lecture Notes in Computer Science.

[16]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[17]  J.F. Ferreira,et al.  Students' feedback on teaching mathematics through the calculational method , 2009, 2009 39th IEEE Frontiers in Education Conference.

[18]  Tobias Nipkow,et al.  FM 2006: Formal Methods, 14th International Symposium on Formal Methods, Hamilton, Canada, August 21-27, 2006, Proceedings , 2006, FM.

[19]  Ralph-Johan Back,et al.  Structured Derivations: a Logic Based Approach to Teaching Mathematics , 2008 .

[20]  V. M. Glushkov Mathematics and programming , 1974 .

[21]  Raymond T. Boute,et al.  Using Domain-Independent Problems for Introducing Formal Methods , 2006, FM.