non-programmer intro (topic drift)

Jecel Assumpcao Jr jecel at merlintec.com
Wed Aug 1 22:13:24 UTC 2001


On Tuesday 31 July 2001 20:04, Roger Kenyon wrote:
> Doesn't it seem that the typical introduction for the non-programmer
> is bass-ackwards. After an overview, there may be a tutorial and
> reference section. Along the way, it introduces objects, messages,
> controls, classes, methods, inheritance, and so on.

I have met many people who have taken "computer course" and yet failed 
to become programmers. Language details are important, of course, but 
they are not the main thing that programmers know and non programmers 
don't. Here is what I wrote a long time ago about which ideas need to 
be taught:

  http://www.lsi.usp.br/~jecel/tut1.html

I would combine the ideas of "generalization" and "factoring" into a 
single "making things smaller". And it would be better to use something 
like the "spiral pattern" (see "whole course concerns" in 
http://www-lifia.info.unlp.edu.ar/ppp/element.htm) than to have 
separate modules as suggested in my page.

Speaking of patterns, I would say that Design Patterns have done a 
wonderful job of identifying things a programmer should know.

> Case in point: http://www.inf.ufsc.br/poo/smalltalk/vwin20/index.htm.
> As a traditional intro, its pretty good, but it is not for the
> non-programmer.

The net isn't working too well for me today (I got the top page, but 
not the frame contents yet) but I'll take your word for it. Too bad the 
Federal University of Santa Catarina is less Smalltalk oriented these 
days (I am sure there are people on this list who don't agree, but I am 
thinking of those not on the list who have switched to Java) and the 
group at UFPE seems to have switched completely.

> Let's try another poetry class. We learn how to write descriptively
> so the reader envisions a mind movie; being transported in imagery.
> We learn how to write emotively through cultural-linguistic symbols.
> We learn how to write so the words themselves are part of the
> message; and so on. Each time checking, if we do this, then that
> happens. Likely result, we approach poetry as an activity; language
> as a vehicle; sympathy as a destination.

And in the case of a regular class setting, you can get good results by 
having people read poems out loud to each other. The sounds themselves 
are important and just imagining them on your own isn't the same thing.

> So how does one create a first-person approach applicable to learning
> Squeak? The folks at StageCast have a tutorial  for Creator that
> combines traditional "introduction to the elements" with a guided,
> hand-on approach. That's closer, but not yet there.

In my "book vs interactive adventure game tutorial" problem, I would 
say that it is harder to do a hands-on course with a book.

> This is exactly what I am getting at in the Morphic Modeling in
> Middle-School Mathematics [MMMM] project (hey, sorry about not
> putting the outline in .zip or .sit format ). Squeak is a medium for
> dynamic what-if modeling. It is digital play-doh, pixel plasticine,
> and as such is effective for (2D, 3D, musical, . . .) cause-effect
> investigations.
>
> What does this suggest as an intro for the non-programmer?

It does suggest that a simple text won't do a very good job, first of 
all. You will waste three pages just describing how to use the menus or 
the flaps to start a new painting.

Some of the squeakland projects are already good examples of the 
direction to take. The problem is that if you give the student too much 
control it is impossible for an automated tutor to keep up. Specially 
since things break so easily.

The other extreme is the book, with nearly 100% author control. Or the 
movie. Much better for showing off Squeak. This could reach out to even 
more people than bookstore customers if it were shown on TV. That was 
the idea behind the original BBC Basic course (for which Sinclair and 
Acorn designed very neat machines), right? I didn't see it and have no 
idea of what the results were. And today you can distribute a movie on 
tape or a CD-ROM (or DVD), including in a bookstore.

This reminds me of the really nice "Self Movie". It is very well done 
and I have shown it to several non programmers to see their reaction. 
It starts out very well but Randy Smith loses his audience with his 
quick explanation of method execution as cloned prototype context 
objects (got that? ;-). People then ignore everything he says until he 
starts demonstrating how to take things apart in Morphic.

Are there any artists in the house? ;-)
-- Jecel




More information about the Squeak-dev mailing list