When I first read this, I honestly was not sure what the point of the paper was. I did not really understand what exactly a framework was, and how it differed from a design pattern. It seemed to incorporate them, but not exactly be the same thing. After looking at the HotDraw example, I think I understand what they are: a more specific form of pattern, in which a person lays out how to go about designing a general form of application. Thus, you could create a framework for a drawing program, a compiler, or a networked multiplayer game.
This seems to be an interesting idea, and one that is very much appropiate for a software engineering course, rather than an intro to CS course. It seems to be an excellent way to take a look at design questions and options, once you have some design experience under your proverbial belt.
However, I think a somewhat modified version of this system could work to teach some design in an intro course. If you layed out a simpler problem or program in this fashion, it could make a good example of a good design for a program. We talk a lot about design in cs15, but a good example often goes much further than a lot of abstract discussion. This might be an opportunity to use just that sort of example.
MY COMMENTS:
I agree with you about the idea of laying out a similar problem to show intro students how they might want to attack the problem that they are faced with. I found the Cloud help session very helpful because it talked about how to basically implement th e Cloud program with Duke, Java's (albeit cheesy) mascot. More of this, and a thoughtful program, would be very useful for people who are just learning about Object Oriented Design.
MY COMMENTS
Design is very easy to teach to someone who knows no code. They say, "OK I get it" Then, when they go and code it, they say "WHAT THE ^*&^^&%*&!"