We report on our experience on teaching the mathematics of software design as
a unifying force for various elements of software design, rather than as an additional
element of software design. This is in line with the use of mathematics in
traditional engineering disciplines, but in contrast to teaching a “formal method”
optionally after an “informal” exposition to software design or teaching a formal
method only with specific applications in mind.