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