” La main à la pâte ” , An Abacus to Teach Formal Specifications

This paper describes the use of a soroban (japanese abacus) for t eaching abstraction and refinement in a introductory course on B specifications.


INTRODUCTION
In 1995 Nobel Prize winner Georges Charpak launched (after L.M. Lederman in Chicago) the La main à la p âte (Hands on) programme, intended to revitalize the teaching of sciences in primary school in France (www.lamap.fr/,www.elearningeuropa.info/).In this paper we present an exercice where the students manipulate concepts following the first two principles of the method.

Our public
We teach specification to first-year students of an IUT.All these students have passed the baccalaureate at the end of secondary school, which in France is the entrance exam for university.Every holder of the baccalaureate can enter a French university without selection.In the case of the IUT there is an exception: for computing a scientific baccalaureate is mandatory.It is interesting to note that for five years now we have had students who don't know the manual algorithm for division (even though they must have learned and used it in primary school).The proliferation of such a "black box" culture is certainly a challenge for university teachers.

Our teaching of formal specification
Our teaching [4] is split into two "modules": "spec1" covers the teaching of the B formal method [1,3], n-ary relational model."spec2" covers automata, process algebra, Petri nets, Grafcet, sequence charts, event B. We use the following tools : Atelier B, ProB, LTSA.We use the following exercise for the "spec1" module, when the students are accustomed to the B notation.In this paper, we just detail some parts of our exercise and name the concepts this exercise allows us to introduce.

Our goals when we use the abacus
Our goals when we use the abacus is to teach students to

Some types of abacus
Amongst the best known [7], there are: the Russian abacus, (stochotv ) with 10 beads per rod, the Chinese abacus, (swan pan) with a bar separating every rod into two parts, one with 2 beads, the other with 5 beads, the Japanese abacus (Fig. 1), (soroban) the object of this study, with a bar separating every rod in two parts, one with 1 beads, the other with 4 beads.

The problem given to the students
We give the soroban to the students and we ask them how a number is written on the soroban and how an addition is done.We also give them a stochoty and a swan pan.They can use an overhead projector to show the manipulations done on the soroban on a screen.We ask them to observe the soroban methodically, to use the principles and elementary knowledge presented in the first courses in computing, a knowledge which is acquired in elementary school (ten years ago, numerical writing was taught to 10-year-old pupils.They were able to write number in different bases).We gave the same problem to students with four years of studies in computing behind them.There was no noticeable difference between their performance and that of the first-year students.

Abstraction from the soroban
We ask the students to abstract the essence of the soroban graphically -that is, we ask them for a graphical model in the sense of Minsky ("To an observer B, an object A* is a model of an object A to the extent that B can use A* to answer questions that interest him about A" ) [5].And we ask them to name the elements of this model: rods (vertical), bar (horizontal), beads.On the bar, we find black dots.In fact they have the role of commas sometimes used in writing numbers in the U.K. In accordance with the international convention, the decimal point should be represented by either a dot or a comma (example: 3.14 or 3, 14), and digits should be grouped in threes without further punctuation on either side.However, in some countries, some people will write 12 545, 15 as 12, 545.15.The black dots on the bar have the role of the blank in this last writing.We abstract (we do not put in our model) these black dots.It is the occasion to make the difference between an interface for the user (with properties as readability) and the core of the machine.
Numbers are written with "signs".We ask the student to try to define what a "sign" is.We then introduce the "semiotic triangle" [2] to present the difference between signifier, signified and referent.We choose the classical example used during the Middle Ages and at the beginning of the book "The Name of the Rose" written by Eco: the horse.We also introduce the concept of denotation following Frege with his example: the morning star, the evening star denote the same concept (Venus).We apply to numbers.IV, IIII, quatre, four are "four" "signifiants" for the same (signifier) concept, the concept of the integer "four".We let the student understand that we are not interested by what is denoted by this concept.Following Saussure, we consider that the sign is the pair (signifier/signified) and is arbitrary.But we give to the students the hieroglyphs and their translation to show how the picture of the number was, in the ancient Egypt, related to a meaning.On this occasion, we ask the student to try to define numbers with the concept of cardinality.We introduce them to the Peano axioms and to algebraic specifications.We show that we can have an axiomatic style even with a B specification.For that we use the example of the stack written in two styles in B. Writing a number is like writing other words.So we ask the students to use concepts relative to language: vocabulary, syntax.A language can be "a graphical language" (the boxes and arrows of SADT as an example), a "physical language" with rods, beads etc.In our case, we can consider: Vocabulary1 = ba, bu1, bu2, bu3, bu4, r1, r2, r3, r4, on, of f , Words {(r1, ba, of f ), (r1, bu1, on), (r1, bu2, on), (r1, bu3, of f ), (r1, bu3, of f ), ...}.Following Saussure, we emphasise the difference between diachrony (study of the system evolution, of the language evolution) and synchrony (the study of the system in its present state).The historic evolution of the abacus is diachrony: the number of beads has changed to arrive at a minimal set of beads.In fact, the students do not follow our advice or hints.They do not arrive at the solution after one hour.We forbid them to use the Internet.One of the goals of this exercise is to learn to be autonomous; to learn that what is taught can be useful.So we are forced to ask them questions to lead them to the solution of the problem.In the next section we present the scenario we give them.

What number system ?
The numbers are written following a number system.Do the Japanese use the decimal number system?How can we find out?A solution is to consult the part of a device documentation written in the Japanese language.It is easy to find.Then we note that inside Japanese texts we find numbers evidently written in decimal notation with Arabic numerals (the dates, the number of pieces, etc.).What are the principles of number systems (as the binary, decimal, octal, hexadecimal, etc.)?If they do not give a response, we ask them to perform an arithmetic operation with the Roman-numeral system.If we still do not obtain a response, we lead them through the following points: What is the vocabulary of our decimal system?V = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} What is the base?card(V ) = 102 2. To write "zero", we use 0, to write "one", we use 1, to write "nine", we use 9 ... 3. Now we have to write "ten".The inspired idea has been to say "we do not have another element in our vocabulary, but we have plenty of room.The place used until now, had (has always!) the value "one"".4. "zero" = "zero" times "one ", " one " = " one " times " one ", etc.The place near the first place used will have the value for which I have no member of my vocabulary, i.e. "ten".Now I can continue.5. To write "ten", we write 10 i.e. 10 = "zero" times "one" + "one" times "ten" 6.To write "eleven", we write 11 i.e. 11 = "one" times "one" + "one" times "ten", etc.
Very rarely a student says that the numbers are written as: (1 × base 0 + 2 × base 1 + 3 × base 2 +).They can observe that they have difficulties to use what has been studied in mathematics.When we deal with students, groups, orders, invoices, etc. they say: "we have never seen that in maths".

CONCLUSION
In this paper we showed how the teaching method "La main à la p âte" could be used to teach formal specification.Observation, abstraction, manipulation are considered as complementary to calculus and formal verification.

FIGURE 3 :
FIGURE 3: Implementation on the swan-pan (right) and on the soroban (left)