doing maths with Alloy is forgetting calculus and fo-
cusing on concept meaning. It is precisely what our
students rarely do before, and what is needed after. In
conclusion, despite the difficulties inherent to active
learning, our experience convince us to the relevance
of our approach.
Does Our Computer-supported Approach Help
Mathematic Education? One of our goals was to
enforce a deep understanding of basic mathematical
concepts. During Alloy labs, students manipulate
these basic notions as explained in section 4. This
kind of session is well achieved by a large part of stu-
dents. Moreover, encountered difficulties relate most
of the time to a real mathematic difficulty and very
rarely to an Alloy specificity : quantifier alternations,
implication . . . . In exams, Alloy exercises are gen-
erally well achieved. From this point of view, Al-
loy labs allow us to insist on difficult points and on
the necessity to master basic concepts. The point that
needs to be improved is the connection with the usual
paper and pencil mathematic activity. Even if Al-
loy labs are inside the mathematic course, even if we
elaborate exercises which show the connection and
even if teachers point out connections during lessons,
students tend to compartmentalize usual mathematics
and Alloy activity. We think that the reason is that
seeing connections needs to master the field and it has
convinced us to work on many more decompartmen-
talizations.
Does Our Approach Help Computing Education?
The question of the connection between mathemat-
ics and computing was asked to the students and sur-
prisingly, a lot of them answered positively. It con-
vinces us to the relevance of : (1) beginning with logic
sets and discrete mathematics, (2) having a team com-
posed with both mathematic and computing teachers,
(3) using mathematic to model software systems. No
doubt, placing mathematical modeling in mathematic
course is efficient. It is very surprising to see students
writing mathematical model docilely in math courses
while they balk at writing UML model in usual soft-
ware engineering courses Our approach doesn’t com-
pletely remedy the student dislike to abstract design of
software. Students prefer writing code to modelling
but, due to our experience, they have better abstract
skills for modelling and they know, because they prac-
tice models from the beginning of their studies that it
cannot be ignored.
7 CONCLUSIONS
We have described in this paper a computer-supported
experience from the Computer Science department of
IUT de Montreuil-Paris 8, whose goal is to connect
mathematics and software engineering through the
use-in mathematics as well as in software engineering
course- of the lightweight formal method Alloy. Al-
loy serve as a continuum from micro-modelling activ-
ities -used to enforce an abstract understanding of ba-
sic mathematic concepts- to real software modelling
practice. We explained our original use of this tool
for teaching mathematic concepts following the APO
model and for introducing O.O. concepts.
In conclusion, we think that our approach bene-
fits to Mathematics as well as to Computer Science:
from the Mathematics point of view, the break with
methods used before in math teaching gives a boost
and develops problem solving skills. From the com-
puter scientist point of view, it allows to expose our
students to software modelling from the beginning of
our curriculum , as it is recommended by many cur-
rent approaches, in order to move our students from
procedural thinking to abstract one.
REFERENCES
Alloy (2007). The alloy analyzer. http://alloy.mit.edu.
Bennedsen, J. and Caspersen, M. E. (2004). Program-
ming in context: a model-first approach to cs1. In
SIGCSE’04, pages 477–481.
Boyatt, R. and Sinclair, J. (2008). Experiences of teaching
a lightweight formal method. In Formal Methods in
Computer Science Education 2008.
Cohoon, J. and Knight, J. (2006). Connecting discrete
mathematics and software engineering. In 36th
ASEE/IEEE Frontiers in Education Conference, pages
13–18.
Devlin, K. (2003). Introduction. Commun. ACM, 46:36–39.
Fenton, W. E. and Dubinsky, E. (1996). Introduction to
discrete mathematics with ISETL. Springer.
Gregory, P. (2004). Motivating computing students to learn
mathematics. MSOR Connections, 4(3).
Hadar, I. and Hadar, E. (2007). An iterative methodology
for teaching object oriented concepts. Informatics in
Education, 6(1):67–80.
Jackson, D. (2006). Software Abstractions: Logic, Lan-
guage and Analysis. The MIT Press.
Lutz, M. (2006). Experiences with alloy in undergraduate
formal method. In Proceedings of 2006 American So-
ciety of Engineering Education Conference,, Chicago,
IL. June 2006.
Naveda, J. F., Lutz, M. J., Vallino, J. R., Reichlmayr, T.,
and Ludi, S. (2009). The road we’ve traveled: 12 years
of undergraduate software engineering at the rochester
institute of technology. In ITNG, pages 690–695.
Sekerinski, E. (2009). Teaching the unifying mathematics
of software design. In WCCCE ’09: Proceedings of
CSEDU2012-4thInternationalConferenceonComputerSupportedEducation
244