Improving software engineering education by modeling real-world implementations

  • Authors:
  • Thomas Baar

  • Affiliations:
  • Hochschule für Technik und Wirtschaft (HTW) Berlin, Berlin

  • Venue:
  • Proceedings of the 8th edition of the Educators' Symposium
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

Modeling has become a central part of software engineering education. Students learn how to create models using modeling languages such as the UML in order to describe phenomena of the real world (or problem domain) or to document the structure and the behaviour of software systems. In my courses, I teach the UML. I made the observation that students can easily get lost and become demotivated if a software engineering course is focusing too much on modeling. Students ask very soon how modeling notations, their semantics etc. are related to the things they learned in previous programming courses. The core of this problems seems to be a lack of real-world projects, that are both implemented in a clean way and for which useful models are available. Useful models in this respect are models, which can show the students the beauty of a system or, in other words, the elegance of the current implementation. The purpose of this paper is to foster the collaboration among modeling experts in order to re-model existing software and to make these models publicly available. The purpose of these models is twofold: They should help (i) to teach abstractions, i.e. how can one explain with few diagrams the internals of even big systems, and (ii) to teach the art of programming, i.e. how can models be implemented in an effective way.