[REBOL] Re: Teaching Rebol => was:{Re: Re: Parsing comment}
From: carl:cybercraft at: 28-Sep-2002 9:40
On 27-Sep-02, Tim Johnson wrote:
> Carl, I did a lot of thinking about the eye candy. I decided to to
> train them in 'view' but to keep the rebol command-line mode only.
> Part of it is that I'm not all that interested in 'view .... my
> partner and I respectively designed python and perl course as a
> second semester using the respective langauge tk interfaces (tkinter
> and tkperl). I felt (and was supported by the teachers of record)
> and there was enough eye candy around and that it was better to
> start them out in a way that would get them started in focusing on
> the small details that really are what makes programming work.
My feeling is is that visual feedback is the quickest way to notice if
something's right or wrong. It's why we convert a mass of numbers
into a graph. The graph and the numbers are the same thing, it's
just that we need to see the graph before we can understand the
numbers.
> What I would like to do is develop a scheme where even the starting
> students could render in CGI as well as the command line....
That would be a good approach. Wouldn't a local server on the
students' machine be one way of doing this? It could be one written
in REBOL so you'd have control of what it could and couldn't do.
(Until the kids hacked it;)
> I think understanding how to use the command line is more important
> than visual programming. Once one knows how to best utilize the
> command line, the visual stuff become easier to hack and
> troubleshoot.
Of course, but they each pull the other up...
>> view layout [b: button "A button"]
>> probe first b
[self type offset size span pane text color image effect data edge
font para feel saved-area rate show? options parent-face old-offset
old-size line-list changes face-flags action state style alt-action
facets related words colors texts file var keycode reset styles init
multi blinker pane-size dirty? help user-data flags effects]
== [self type offset size span pane text color image effect data edge
font para feel saved-area rate show? options parent-face old-...
>> probe b/text
A button
== "A button"
>> probe b/color
44.80.132
== 44.80.132
>> probe b/colors
none
== none
>> probe b/feel
make object! [
redraw: func [face act pos /local state][
face/edge/effect: pick [ibevel bevel] face/state
if face/texts [face/text: face/texts/1]
all [face/state face/texts face/text: any [face/texts/2
face/texts/1]]
state: either not face/state [face/blinker] [true]
if face/colors [face/color: pick face/colors not state]
if face/effects [face/effect: pick face/effects not state]
]
detect: none
over: func [face action event][
if all [face/font face/font/colors] [
face/font/color: pick face/font/colors not action
show face
face/font/color: first face/font/colors
]
]
engage: func [face action event][
switch action [
time [if not face/state [face/blinker: not face/blinker]]
down [face/state: on]
alt-down [face/state: on]
up [if face/state [do-face face none] face/state: off]
alt-up [if face/state [do-face-alt face none] face/state:
off]
over [face/state: on]
away [face/state: off]
]
cue face action
show face
]
cue: none
blink: none
]
> I think a personal reason is a more "honest" hook. I just tell them
> about my son-in-law who makes over a hundred grand a year for
> working 20 hours average a week. Who's treated like a god by his
> contractees, who wouldn't give Eminem, Steven Seagal or Michael
> Jordan a second look. That gets their attention... ;-)
I can see that working with older students who're having to start
thinking about future employment, but I can't see it being much
motivation for kids under 14 or so.
> And I will reiterate - teaching online needs to overcome the lack of
> direct personal contact that can reinforce initiative. That
> is the largest issue in my mind.
I'd think it'd need tutors online 24/7 to be really effective, plus
instant messaging and the ability to share desktops. Tutors online
24/7 is the hard part there I would think.
--
Carl Read