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.