I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots. Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone? Thanks, Phil
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo": car start script foo These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots. Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone? Thanks, Phil
--
--
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves, I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo": ???????????????? car start script foo These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
?My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
Hi, Phil - Yes..a "book" would work for want you want. When resizing be sure you have selected the handles for the "page" -- that is the part of the book which can be resized (as opposed to the "book"). Clicking once (and holding alt or Command) will reveal the handles for the "book". Clicking a second time will show the handles for the "page" -- this is what you will/can resize. (Clicking on the top will reveal handles for the "page controls".) -- Kim
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves, I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo": car start script foo These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
--
This allows the pages in a book to be of a difference size. However, there is also a menu command on the book to make all the pages in the book the size of the page that is currently showing. I would advise looking at the balloon help in the book UI (at the top), to click on the "more options" button (diamond shaped to the right) and to look at the main menu (the big dot in the center).
If you want to have separate environments for etoys on each page, these can be obtained from the "widgets" flap and have the label "scripting".
Cheers,
Alan
-------
At 11:17 AM -0800 2/20/03, Kim Rose wrote:
Hi, Phil - Yes..a "book" would work for want you want. When resizing be sure you have selected the handles for the "page" -- that is the part of the book which can be resized (as opposed to the "book"). Clicking once (and holding alt or Command) will reveal the handles for the "book". Clicking a second time will show the handles for the "page" -- this is what you will/can resize. (Clicking on the top will reveal handles for the "page controls".) -- Kim
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves, I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo": car start script foo These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
--
--
Kim, Once again your advice is invaluable, however, I also see that I could be using Stack/cards instead of Book/pages. What's the difference? I'm inclined to use the Stack since I used to work in and teach HyperCard.
Alan has referred to the "widgets" flap several times. Is that synonymous with the Supplies flap that I see?
Phil
On Thursday, February 20, 2003, at 05:32 PM, Alan Kay wrote:
This allows the pages in a book to be of a difference size. However, there is also a menu command on the book to make all the pages in the book the size of the page that is currently showing. I would advise looking at the balloon help in the book UI (at the top), to click on the "more options" button (diamond shaped to the right) and to look at the main menu (the big dot in the center).
If you want to have separate environments for etoys on each page, these can be obtained from the "widgets" flap and have the label "scripting".
Cheers,
Alan
At 11:17 AM -0800 2/20/03, Kim Rose wrote:
Hi, Phil -
Yes..a "book" would work for want you want.? When resizing be sure you have selected the handles for the "page" -- that is the part of the book which can be resized (as opposed to the "book").? Clicking once (and holding alt or Command) will reveal the handles for the "book".? Clicking a second time will show the handles for the "page" -- this is what you will/can resize. (Clicking on the top will reveal handles for the "page controls".)
?-- Kim
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves,? I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo":
???????????????? car start script foo
These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
?My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
?
--
--
Hi, Phil -
In an earlier (and other) version(s) of Squeak we had two flaps located at bottom -- Widgets and Supplies. In our work with teachers and kids we found it was difficult for users to remember what type of tool/goodie was located in which flap. So, in the public "Squeakland" download, we chose to consolidate and place all tools in a single "Supplies" flap and elminated the "Widgets" flap. Many supplies are readily visible singularly in the Supplies flap, but many, many others can be found in the "Object Catalog" which can be found left-most in Supplies. If you haven't explored, I suggest you drag one of these out and check out the various categories to find even more tools and goodies.
As far as use of Stacks and Cards -- I don't feel that I am the best to comment here -- I haven't used them all that much, and I believe part of this part of the etoy system is still "under development". However, I have copied Scott Wallace on this mail. Scott developed much of the etoy system and may be able to offer some good advice. Alan may comment as well.
cheers, Kim
At 9:22 AM -0500 2/21/03, Phil Firsenbaum wrote:
Kim, Once again your advice is invaluable, however, I also see that I could be using Stack/cards instead of Book/pages. What's the difference? I'm inclined to use the Stack since I used to work in and teach HyperCard.
Alan has referred to the "widgets" flap several times. Is that synonymous with the Supplies flap that I see?
Phil
On Thursday, February 20, 2003, at 05:32 PM, Alan Kay wrote:
This allows the pages in a book to be of a difference size. However, there is also a menu command on the book to make all the pages in the book the size of the page that is currently showing. I would advise looking at the balloon help in the book UI (at the top), to click on the "more options" button (diamond shaped to the right) and to look at the main menu (the big dot in the center).
If you want to have separate environments for etoys on each page, these can be obtained from the "widgets" flap and have the label "scripting".
Cheers,
Alan
At 11:17 AM -0800 2/20/03, Kim Rose wrote:
Hi, Phil -
Yes..a "book" would work for want you want. When resizing be sure you have selected the handles for the "page" -- that is the part of the book which can be resized (as opposed to the "book"). Clicking once (and holding alt or Command) will reveal the handles for the "book". Clicking a second time will show the handles for the "page" -- this is what you will/can resize. (Clicking on the top will reveal handles for the "page controls".)
-- Kim
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves, I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo":
car start script foo
These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
--
--
--
Hi Phil --
At 9:22 AM -0500 2/21/03, Phil Firsenbaum wrote:
Kim, Once again your advice is invaluable, however, I also see that I could be using Stack/cards instead of Book/pages. What's the difference?
The Stack stuff is quite experimental, you are better off with Books.
I'm inclined to use the Stack since I used to work in and teach HyperCard.
Except, that the Stacks here are not enough like Hypercard to help you.
Alan has referred to the "widgets" flap several times. Is that synonymous with the Supplies flap that I see?
It's another flap that is hidden in the children's version that you are using. However, try typing a cmd-o (alt-o on a PC). This should make a "useful-object" palette visible. Click on "scripting" and you will see the object in question (called "scripting") on the right side of the second row. Drag it out to get one.
Cheers,
Alan
------
Phil
On Thursday, February 20, 2003, at 05:32 PM, Alan Kay wrote:
This allows the pages in a book to be of a difference size. However, there is also a menu command on the book to make all the pages in the book the size of the page that is currently showing. I would advise looking at the balloon help in the book UI (at the top), to click on the "more options" button (diamond shaped to the right) and to look at the main menu (the big dot in the center).
If you want to have separate environments for etoys on each page, these can be obtained from the "widgets" flap and have the label "scripting".
Cheers,
Alan
At 11:17 AM -0800 2/20/03, Kim Rose wrote:
Hi, Phil -
Yes..a "book" would work for want you want. When resizing be sure you have selected the handles for the "page" -- that is the part of the book which can be resized (as opposed to the "book"). Clicking once (and holding alt or Command) will reveal the handles for the "book". Clicking a second time will show the handles for the "page" -- this is what you will/can resize. (Clicking on the top will reveal handles for the "page controls".)
-- Kim
OK, now that I've gotten control of the speed my object moves and I can see (using a watcher) the value of the slider which determines the number of "steps" my object moves, I'm ready to move on to the next stage of this project. I need another "page" or "screen." What are my options here? I found the Book element in the Supplies bin. I haven't done it yet, but I'm assuming I can drag all of the objects I've created thus far on to a page in the book and then create new pages. I'm having difficulty resizing the page, though. The standard resizing tool isn't working...I've looked through the Book menus but haven't found an option that allows me to resize.
On Wednesday, February 19, 2003, at 11:48 AM, Alan Kay wrote:
Hi Phil --
At 11:00 AM -0500 2/19/03, Phil Firsenbaum wrote:
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature).
Not exactly. Any script can be repeated (period). You can get it to repeat by clicking on the clock (on the script, in the viewer, or on the go, step, stop button found in "Widgets"), or by holding down where it says "normal" and choosing "ticking", or by sending it a message - to start up script "car foo":
car start script foo
These tiles are found under the category "scripting".
Looking at your picture, I see that the scripts "startRepeat" and "setup1" are both paused, which means they must once have been ticking. But neither of these scripts should be looped. They are both designed to be run once, they should be set to "normal".
So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer.
Go into the viewer and look at the menu associated with the slider's "numericValue" property. The menu includes choices for a "simple watcher" and a "fancy watcher". The first just gives you a number that will reflect the the value of the property, the second will give you a UI for this value that includes a label and the ability to set the value from the UI (this is the option that is usually most useful for children).
My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track.
forward 30 is too long a distance -- it will be about 1/3" on some screens.
I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Press down on the clock in a script and hold it until a menu appears. This will allow you to set how many ticks per second the script will execute. (This can also be programmed by hand using a variable to hold a delay count.)
Another way to slow it down and get some precision would be to just do "Roam1 forward 1".
I think there might be a somewhat richer approach to this project, that allows the children to do some scripting rather than just use what the teacher has provided. Let me know if you are interested in exploring this.
Cheers,
Alan
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots.
Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone?
Thanks,
Phil
--
--
--
--
--
Hi, Phil -
If I understand you correctly, you say you'd like to show the slider's value without the viewer. It sounds like you'd like to make use of a "watcher". If you go to the tiny menu to the left of "slider's numeric value" in the viewer you'll see some options. One is "detailed watcher". Select that and drag it out. We have the kids we work with use watchers frequently. They can help in a variety of ways. You can leave the watcher on the "world" and then close up the viewer. Each time the student activates the script and the object moves the watcher will reflect the current value.
The other thing I might suggest, especially since you are working with younger children, is to do some measuring activities off the computer in conjunction with this computer based project. Measuring in pixels is still an abstraction.....espcially for the younger kids. Hope this helps! cheers, Kim
Thanks much for the help with repeating a script...I think I've got the idea now. Any script can be repeated by using a conditional (test) statement (if that's the right nomenclature). So, here's my project thus far. Activating the first script moves the object (Roam1) based on the value of the slider (light blue rectangle). Now, I'd like to be able to show that value without using the object's Viewer. My initial goal with this project (in addition to learning how to create it for myself) is to have 1st and 2nd graders work with estimating distance and number values...they will set the value of the slider as they attempt to get the object to land in the box at the top of the track. I've also been trying to slow down the movement of the object so that kids can see more clearly what is happening. Haven't figured that one out yet either.
Content-Disposition: inline; filename=roam-sim.jpeg Content-Type: image/jpeg; x-mac-creator=522A6368; x-unix-mode=0644; x-mac-type=54455854; name="roam-sim.jpeg"
Attachment converted: 24601:roam-sim.jpeg (JPEG/ogle) (000B745E)
On Monday, February 17, 2003, at 10:38 PM, Alan Kay wrote:
Well, each script can repeat over and over -- so this is quite doable. However, there is not a case tile (like Test) for parameterized Repeats (though we could certainly make one). However, I think that part of the wide spread success of the current system is how few features it has -- it relies mostly on having a good object system plus a few programming features.
Here's how to do it. Suppose you know how many steps of 30 that need to be traversed and you have that number in a variable called "steps"....
Then you just have to build the three cases of the loop -- startup, looping, and ending.
<image.tiff>
This can be done in one script, but it is clearer and cleaner to use two scripts.
There are many ways to write these scripts. This one makes it quite clear how many iterations have been done.
Now, having shown how to do this, it is rarely the case that a student will need to write a script like this, especially for robots. You are much better off having them write a script that finds the destination rather than measures it. This is simpler, clearer, and more general. You can see some of these ideas in the feedback projects on squeakland.org (particularly those that get cars to follow roads). Here is a simple example of what I mean:
<image.tiff>
This script will work regardless of the distance between the two blobs.
Cheers,
Alan
At 8:46 PM -0500 2/17/03, Phil Firsenbaum wrote:
I'm working on a little project (i'll use it with younger students if I get it to work). It involves getting an object move a certain number of "steps" (each being a forward 30) in order to go from one point to another. It's actually a simulation of work being done with Roamer floor robots. Anyhow I want the students to be able to figure out how many "steps" the object needs to take...I thought if I could script a repeat tile I could accomplish this part of the project pretty nicely. I haven't seen anything about repeats, though, in the etoy environment. Does it exist? If not, any thoughts anyone? Thanks, Phil
--
--
In fact, we're doing just that using Roamers (big floor robots) from Valiant. My Squeak project is a simulation of the work kids are doing on the floor with Their Roamers. I'm actually doing the project in MicroWorlds as well since I have much more proficiency in that environment. It'll be interesting to see the kids reactions to the different environmnets. Thanks, Phil
On Wednesday, February 19, 2003, at 11:27 AM, Kim Rose wrote:
The other thing I might suggest, especially since you are working with younger children, is to do some measuring activities off the computer in conjunction with this computer based project.? Measuring in pixels is still an abstraction.....espcially for the younger kids.
That sounds great, Phil! Please keep us posted on how the activity progresses! Good luck and have fun, Kim
At 9:01 AM -0500 2/20/03, Phil Firsenbaum wrote:
In fact, we're doing just that using Roamers (big floor robots) from Valiant. My Squeak project is a simulation of the work kids are doing on the floor with Their Roamers. I'm actually doing the project in MicroWorlds as well since I have much more proficiency in that environment. It'll be interesting to see the kids reactions to the different environmnets. Thanks, Phil
On Wednesday, February 19, 2003, at 11:27 AM, Kim Rose wrote:
The other thing I might suggest, especially since you are working with younger children, is to do some measuring activities off the computer in conjunction with this computer based project. Measuring in pixels is still an abstraction.....espcially for the younger kids.
--
squeakland@lists.squeakfoundation.org