Teaching Design-by-Contract for the Modeling and Implementation of Software Systems Topics: Application Software; Architectural Design, Refactoring and Patterns; Empirical Software Engineering; Formal Methods; Model-driven Software Engineering; Software and Systems Modeling In Proceedings of the 14th International Conference on Software Technologies ICSOFT - Volume 1, 499-507, 2019 , Prague, Czech Republic