[Edu-sig] modelling objectoriented grapical user interface with and for beginners?

L. Humbert humbert@hagen.de
Sun, 10 Jun 2001 10:53:07 +0200


Please,

let's try to put things together.
At first: as mentioned earlier, I'm a teacher in informatics 
-- not primary in mathematics (;-)

There is a little misunderstanding  in what to teach and how to teach 
elements in computer science, I think.

Many of us(?) believe that you have to know already "something" about
handling
a computer, before getting started Modelling in informatics.

But this is not quite right.
We should teach informatics to the beginner,
so - everyone gets a "right" mental model of working with a computer
(special with a GUI), 
(s|he) is teached to get a clear understanding of whats going on and
*how* this can be expressed 
*instead of* 
click here and click there and acitvate this button and scroll this area
and ...

I believe:
it should be possible to
build up the process of getting a clear imagination of GUIs capabilities
in
expressing and producing them with a little help from Python (or other 
languages)

Something like:

import ...
..
myDesktop=GUI(thisInformaticSytem, thisNetworkEnvironment, ..?)
myHomedirectory= myDesktop.showDirectory(thisNetworkEnvironment.home,
"collapsed")

while not thisInformaticSytem.shutdown():
    if thisInformaticSystem.getUserAction():
        myDesktop.broadcastAction(allElements_on_Desktop)



It should be possible to (re|construct) *simple* handling elements *and*
to
compare them with "the real" OS-functions. 
By this, a novice learner should get the power of *constructing* 
some functional elements of her own.
An example could be producing a very simple
 desktop manager within a couple of lessons, I hope.

This way, it should be possible to set up a clear understanding of what 
wents on behind the scene 
*and*
to empower the children in formulating principal understanding for
eventdriven applications not only by describing them, but with the power 
of an interpreted language.

Objectoriented Modelling [process] (most elements are done without 
programming)  for beginners (6. Graders) is teached in bavarian 
(a region in Germay) 
- you may take a look at
http://www-schulen.informatik.tu-muenchen.de/didaktik/material.html

But: it isn't done with support of a language, so only the primary
elements of 
modelling are discussed (and "learned") in this courses.

Another example:
pupils learn to handle presentation and represantion
of looking at
directories and their content

this can (and is) done "IRL" with whathowever GUI

I think, it could be done
by using a simple class to allow *them* "reconstructing" the 
functional behavior ...

another piece of an experimental GUI-element-handling system

class GUIdir(..):
    def __init__(...):
        ...

    def show(self, lookat="collapsed"):
        ...
        
    def sort(self, crit="name", modus="detail", ...):
        ...    

It should be possible to realize such rudiments without relying on a
special
GUI, so the main classes would be gui-independent.

The teacher/pupils/students (c|sh)ould decide, which concrete GUI to use
in a course, so
it could be
tkinter, pygame, swing (for using it with jython), wxpython, gtk, ... 

In trying to realize this project, a teacher is enabled to focus on
those elements,
which (s|he] wants the pupils/students 
- to understand and/or
- to use when later on projects are planed and realized.


    Ludger
    

PS: for the artists?
a)
on the adobe web site, there are filters which are realized in Python
http://opensource.adobe.com/
Python action plug-in for Adobe Photoshop. 
Allows a user to write Photoshop action plug-ins using Python. Has
Python interfaces to all the actions APIs. ...

b)
there are Python Filters for THE GIMP too:
http://www.daa.com.au/~james/pygimp/