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 pre-university 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.