[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)