[Edu-sig] A case against GUIs in intro CS :-)
chuck at freshsources.com
Fri Jun 3 08:36:08 CEST 2005
I agree with this post 100%. GUIs require a fairly good understanding
of event loops and OOP. They confuse beginners who have to look at the
code as well as the pictures. They are, however, a good example of
quality OO design, once the students have a little experience.
Thursday, June 2, 2005, 7:42:34 PM, you wrote:
>> -----Original Message-----
>> Behalf Of Bob Noonan
>> The one place where Python is clearly deficient IMHO is in GUI
RA> While this might be true, I do not feel it is a problem. The problem is
RA> that GUI programming is given significant coverage in most mainstream
RA> introductory CS textbooks. Open an arbitrary Java-based textbook and you
RA> are likely to face GUIs from almost the beginning. Sample programs and
RA> exercises often come with GUI shells that obscure their essential
RA> non-GUI parts. I find the dominance of GUIs in java-based introductory
RA> books troublesome.
RA> GUI programming is relatively complex. To understand it, one needs to
RA> understand event handling. I have hard time explaining event handling to
RA> beginners and see that beginners have hard time understanding it. While
RA> GUI programming is complex from beginner's perspective, it does not
RA> offer many interesting algorithmic problems.
RA> I believe that we humans are really good at linear communication. Most
RA> animals see and understand pictures. We humans have the exclusive
RA> capability of speaking and hearing *linear sequences* of sounds, while
RA> animals are not particularly good at that. We are also good in reading
RA> and writing sequences of characters while no known animals can do that.
RA> Some folks say that a picture can easily show what a thousand words
RA> cannot. Well, there is nothing you cannot express with words, but there
RA> are many things that you cannot express, at least not easily, with
RA> pictures. You do not need to try translating Shakespeare into pictures
RA> to see how hard that would be, just try writing technical emails in this
RA> list using pictures.
RA> My point is that GUI should not be overweighed in intro CS courses. GUIs
RA> have some place, but certainly not central place in such courses.
RA> Python's interactive mode, without GUIs, is great way to teach
RA> introductory level programming. Therefore, a possible Python deficiency
RA> in the GUI area should not be considered a problem at all.
RA> I apologize for this non-technical message. I was tempted to write it
RA> because I have struggled way too much teaching too much GUI programming
RA> in intro level CS courses.
RA> Atanas Radenski
RA> mailto:radenski at chapman.edu http://www.chapman.edu/~radenski/
RA> Edu-sig mailing list
RA> Edu-sig at python.org
More information about the Edu-sig