Now three insights on teaching computer programming

Matthias Felleisen matthias at
Wed Jan 4 13:28:36 EST 2006

On Jan 4, 2006, at 12:09 PM, Ken Lloyd wrote:

> I think I could successfully challenge anyone that thinks the UML it 
> object oriented (early on, this may have been the case).  So my 
> question is:
> Does anyone else think that the UML relates adequately to the 
> mathematical,
> and graphical formalism in Computer Science and Software Engineering?  
> If
> not, why so?

Our "How to Design Class Hierarchies" (second volume of How to Design)
uses UML class diagrams. After some initial reluctance on my side, I
have found them useful so that students can inspect and play with a
visual form of their data definitions. Students seem to understand it
easily, like it, and are able to work with it.

Because of this success, I have considered using them with "How to
Design Programs (2ed)" too. After all, it is easy to translate
data type definitions from the stylized English of HtDP to UML
class diagrams and back. To be honest, however, I have not tested
this idea yet simply because I find them verbose and no-more-informative
than the stylized English at this level of programming.

In any case, UML's class notation is definitely not an OO-only
concept and could be used more generally.

;; ---

I have used the sequence diagrams at the "third volume" level
and I find the results disappointing. I haven't done it as
systematically as with class diagrams so perhaps it's my fault.
I will try again next semester.

-- Matthias

More information about the Math-thinking-l mailing list