[MWForum]MicroWorlds Reference Card
Daniel Ajoy
mwforum@lists.mathcats.com
Wed, 11 Aug 2004 18:38:38 -0500
Hi everybody,
Based on Jeff Knope original idea Wendy and I decided to
compose a simple MicroWorlds Reference Card. We adopted
most of the original LCSI categories and put under them the
commands listed in two-columns tables. Wendy and I don't
agree on some of the positions of some commands. We would
like to hear ideas on how to improve it.
The 22KB PDF document is at:
http://mia.openworldlearning.org/resources/mw_refcard.pdf
Wendy wrote:
> I think it should include every primitive, yes, because
> part of the point of it would be to call attention to
> often-underutilized primitives in the various categories.
> I see that you (and LCSI) have placed CC in the "screen
> management" section but it doesn't affect anything on the
> project page, just the command center. Some of the other
> primitives in that category also don't seem to affect the
> "screen." Perhaps the category might be better named
> "project management"...
> why isn't STOP listed with STOPALL and STOPME?
> For instance, to me it would make sense to place "WHEN"
> somewhat near "IF" and "IFELSE" or even in the same box.
Daniel wrote:
> I'll place it with CC on a separate category.
> STOP stops the current procedure and returns. OUTPUT stops
> the current procedure and returns a value.
>
> STOPALL stops all "processes". STOPME stops this process.
> WAITUNTIL pauses this process.
Wendy wrote:
> I know some teachers use WHEN and IF to fulfill similar needs
> I did not realize until you replied that OUTPUT stops the
> current procedure; I only knew of its value-returning
> function. But STOP does not return anything, as far as I
> understand. So I still think STOP might be more similar to
> STOPALL and STOPME than it is to OUTPUT. (STOPALL stops
> all processes and procedures.)
> To me, OUTPUT more complments SHOW than it does STOP,
> I'm also wondering if WAITUNTIL would be better placed with
> IF and IFELSE or with WHEN, rather than with STOPALL and
> STOPME. I don't understand the logic of its current
> placement. As I understand it, it pauses a procedure until
> a condition is met, but it doesn't stop a procedure or
> process altogether as STOPALL and STOPME do. It is
> constantly checking to see if the condition has been met,
> as WHEN does.
> So then why don't we place WHEN with WAITUNTIL, STOPALL,
> and STOPME, instead of with LAUNCH and FOREVER and CANCEL?
> Or perhaps we should place all of them in the same box?
Daniel wrote:
> I think that what I want to show by placing STOP and OUTPUT
> together and STOPALL and STOPME together and both pairs in
> different categories is that the first pair is used in one
> set of situations and the second pair in another set of
> situations.
>
> STOP and OUTPUT do not stop processes. They only stop the
> execution of the current procedure and return.
>
> STOPME and STOPALL do stop whole processes.
> WHEN, LAUNCH and FOREVER all of them launch a parallel process.
>
> WHEN does it to check a condition.
> FOREVER does it to repeat something forever.
> while LAUNCH simply does it
>
> all deal with parallel process and I think it is worth making
> it clear that, while both IF and WHEN both check for a condition,
> there is a fundamental difference between them that one needs
> to know to apply one or the other effectively. This difference
> makes WHEN go with FOREVER and LAUNCH and not with IF and IFELSE
> WHEN starts a parallel process. While WAITUNTIL does not.
> WAITUNTIL, STOPALL, and STOPME are about pausing a process or
> stopping a process altogether.
Wendy wrote:
> I don't see why certain primitives placed in the "graphics"
> section wouldn't be just as appropriate in the "objects"
> section. Why is "stamptext" with objects but "stamp" is
> with graphics, for instance? They both involve stamping an
> object onto the background of a page. Why aren't other
> primitives relating to turtles located with objects instead
> of graphics?
Daniel writes:
Here are other possible issues where we need new insights:
Where should ONREADLINE be?
What about SETFOOTER?
What's the difference between IMPORTTEXT and LOADTEXT,
EXPORTTEXT and SAVETEXT? Are they ok under Disk Access?
Shouldn't they be under Input/Output? Isn't Disk Access
a form of Input/Output?
Shouldn't SAVEPROJECT and GETPROJECT be together?
Under Assigning, should it be:
thing make
name
name? names
instead of what it is now:
make thing
name name?
names
?
Should RUN and PARSE appear together?
Where should LISTEN go?
I guess that's too many questions... :)
Daniel
OpenWorld Learning (OWL)