[Edu-sig] A case against GUIs in intro CS :-)

Arthur ajsiegel at optonline.net
Fri Jun 3 05:28:58 CEST 2005



> -----Original Message-----
> From: edu-sig-bounces at python.org [mailto:edu-sig-bounces at python.org] On
> Behalf Of Radenski, Atanas
> Sent: Thursday, June 02, 2005 9:43 PM
> To: Bob Noonan; edu-sig at python.org
> Subject: [Edu-sig] A case against GUIs in intro CS :-)
> 
> 
> > -----Original Message-----
> > Behalf Of Bob Noonan
> 
> > The one place where Python is clearly deficient IMHO is in GUI
> programming.
> 
> While this might be true, I do not feel it is a problem. The problem is
> that GUI programming is given significant coverage in most mainstream
> introductory CS textbooks. 

FWIW, the text I am currently working with/from - "Practical Common Lisp" -
does not as yet (Chapter 8) touch GUI programming, and I am not expecting
that it will at all.

I think, BTW, it is an excellent effort, with an excellent pedagogical
approach.

Chapter 1 is purely introductory salesmanship "Why Lisp", within the
expectations of what might find in a book devoted to that subject.

Chapter 2 is the "Hello World" stuff from the interactive prompt.

And I am afraid I am embarking on the typical linear "building-block"
approach, which will force me (being who I am) to be skipping ahead chapters
to see where we are going, in order to make an assessment as to whether we
are going to an interesting enough place for me to hang with the building of
the blocks. 

But Chapter 3 is unexpected - it takes us through creating a simple but
functional database, with persistency, "select" and "update" and "delete"
calls with fairly standard database syntax, and through it we get a taste of
function passing, and macro writing, until it's all refactored down to maybe
35 lines of code that I actually feel I understand. And I would certainly
not see a non-Lisp way of writing it as efficiently. So by Chapter 3 the
author has made good on some of the claims of Chapter 1.  

And I no longer feel I need to skip ahead to anything.  I'm sold on the
effort, and willing to bear some of the drudgery that necessarily follows
when we do back up a bit and start filling in some of the details of syntax
and semantics. (some of it quite ugly when one is used to Python)

The author communicates respect for his audience.  He says things once.
Even hard things.  It doesn't mean he expects me to get it on reading it
once, but we understand each other I think - there is nothing stopping me
from reading it five or six times if I need to.  Him repeating himself is
not going to help - because he has already said it the best way he could
find to say it.  Saying it a second time, he could only be saying it a
second best way.

Nice job Mr. Seibel.

Back to the point - I would find GUI issues mostly a distraction, and don't
regret at all that it is not being covered.

GUI building seems to be dominated by tools.  Couldn't the argument might be
made that GUI building can only really be taught in the context of a
specific development environment, rather than in the abstract.  

Python has many such environments.  

Lisp has Allegro Lisp which is an almost VB like environment. If GUI
building in Lisp ever became a practical issue for me (I don't expect it
will), I would probably cop out by becoming comfortable with the Allegro
environment.

Art






More information about the Edu-sig mailing list