Conclusions
introduction
teaching
contracts
patterns
events
examples
foundations
conclusions
references
Summarizing: We identified some basic themes
in teaching the principles of object-oriented
software development.
We hinted at potential problems and discussed
appropriate metaphors to guide our intuition.
We also looked at a number of examples illustrating
a possible realization of the concepts involved.
Finally, we briefly looked at (references to the literature on)
the theoretical foundations of contracts and
formalisms for specifying the interaction between objects.
As a conclusion, one is justified to say that
teaching OO is (still) a challenge.
We can, I think,
considerably improve on our repertoire of metaphors
and idiomatic solutions.
Important, also, is to relate solutions motivated by
the practice of software development to
well-established theoretical notions
(coming from type theory and the theory
of program verification)
and, in particular,
to look for suitable means to characterize
complex object interactions in a formal way.
introduction
teaching
contracts
patterns
events
examples
foundations
conclusions
references