{"id":711,"date":"2009-09-30T02:11:02","date_gmt":"2009-09-30T07:11:02","guid":{"rendered":"http:\/\/stager.tv\/?p=711"},"modified":"2009-09-30T02:11:02","modified_gmt":"2009-09-30T07:11:02","slug":"new-ways-to-remember-in-microworlds","status":"publish","type":"post","link":"http:\/\/stager.tv\/?p=711","title":{"rendered":"New Ways to Remember in MicroWorlds"},"content":{"rendered":"<p style=\"text-align: center;\"><strong>Originally published in the October 2000 issue of Australia&#8217;s <em>Hotsource<\/em> online newsletter<\/strong><\/p>\n<p>Most                    MicroWorlds users are familiar with the local and global variables                    built into the language. Logo, MicroWorld\u2019s underlying                    computer language, prefers the passing of values between procedures                    via local variable inputs. Global variables, created with MAKE                    or NAME, are containers that remember their contents across                    all procedures. Local variables are like short-term memory and                    global variables are useful for remembering things like the                    name of a player so that such data may be recalled later on                    in a program. MicroWorlds adds additional variable types, including                    the very powerful TURTLESOWN and project variables which save                    with the MicroWorlds project file.<\/p>\n<p><strong>What                    Do Turtles Own?<\/strong><\/p>\n<p>MicroWorlds                    turtles can now keep track of all sorts of properties. This                    enhances their intelligence and makes it easier to get turtles                    to do tricky things without the programmer needing to keep track                    of too many variables.<\/p>\n<p>Whenever                    you want one or more turtles to remember some information about                    its state or behavior, the command, TURTLESOWN will help you                    do so. Remembering a state or behavior is one thing, but in                    MicroWorlds you will also want a way of reporting that information                    to a procedure or other turtle.<\/p>\n<p><strong>Understanding                    Turtlesown<\/strong><\/p>\n<p><strong>a)                    State variables<\/strong><\/p>\n<p>Turtles                    already own several state variables including SHAPE, COLOR,                    HEADING, POS, XCOR, YCOR and SIZE. Each one of these reporters                    has a corresponding one input command beginning with <em>SET<\/em>.                    In other words, you may change a state and report its value\/condition.<\/p>\n<div>\n<blockquote>\n<table border=\"1\" cellspacing=\"5\" cellpadding=\"0\" width=\"137\">\n<tbody>\n<tr>\n<td><span style=\"font-family: Times;\"><strong>Command<\/strong><\/span><\/td>\n<td><span style=\"font-family: Times;\"><strong>Reporter<\/strong><\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETSH<\/span><\/td>\n<td><span style=\"font-family: Times;\">SHAPE<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETC<\/span><\/td>\n<td><span style=\"font-family: Times;\">COLOR<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETH<\/span><\/td>\n<td><span style=\"font-family: Times;\">HEADING<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETPOS<\/span><\/td>\n<td><span style=\"font-family: Times;\">POs<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETX<\/span><\/td>\n<td><span style=\"font-family: Times;\">XCOR<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETY<\/span><\/td>\n<td><span style=\"font-family: Times;\">YCOR<\/span><\/td>\n<\/tr>\n<tr>\n<td><span style=\"font-family: Times;\">SETBG<\/span><\/td>\n<td><span style=\"font-family: Times;\">BG<\/span><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/blockquote>\n<\/div>\n<p>Try                    typing the following and observe the results. Be sure you have                    at least one turtle on the page.<\/p>\n<p>setsh                    &#8220;car<br \/>\nshow shape<br \/>\nsetpos [50 -75]<br \/>\nshow POs<br \/>\nshow xcor<br \/>\nshow ycor<br \/>\nsetc color + 10<br \/>\nseth 90<br \/>\nfd heading<br \/>\nrepeat 5 [setsize size + 5]<\/p>\n<p>TURTLESOWN                    is used to create other variables for every turtle in a current                    project. TURTLESOWN takes a word as input and that word is the                    name of the variable being created.<\/p>\n<p>Turtlesown                    <em>&#8220;speed<\/em><\/p>\n<p>There                    are three actions associated with TURTLESOWN.<\/p>\n<ol>\n<li>\n<div>Telling                        MicroWorlds to give a state\/variable to every turtle in                        the project<\/div>\n<\/li>\n<li>\n<div>Assigning                        a variable to that state<\/div>\n<\/li>\n<li>\n<div>Using                        that state variables in some way<\/div>\n<\/li>\n<\/ol>\n<p><strong>b)                    Introduction to turtlesown<\/strong><\/p>\n<p>Let&#8217;s                    try a few simple examples.<\/p>\n<ol>\n<li>\n<div>Create                        a new project<\/div>\n<\/li>\n<li>\n<div>Hatch                        two more turtles so that three turtles appear on the page<\/div>\n<\/li>\n<li>\n<div>Change                        their colors so that we can tell them apart:<\/div>\n<\/li>\n<\/ol>\n<blockquote>\n<div>t1,                            setc &#8220;red<br \/>\nt2, setc &#8220;blue<br \/>\nt3, setc &#8220;yellow<\/div>\n<p align=\"left\">Tell                        MicroWorlds to give every turtle the property, speed<\/p>\n<div>turtlesown                          &#8220;speed<\/div>\n<p align=\"left\">Set                        the speed value for each turtle and tell them to go:<\/p>\n<div>t1,                          setspeed 1<br \/>\nt2, setspeed 5<br \/>\nt3, setspeed 10<br \/>\neveryone [forever [FD speed]]<\/div>\n<p align=\"left\">In                      this case, everyone tells all of the turtles on this page                      to go FD by their speed value speed.<\/p>\n<p align=\"left\">Let                      the turtles run wild and type the following to see what happens.<\/p>\n<p align=\"left\">t2,                      show speed<\/p>\n<p align=\"left\">There                      is another way to check a turtle\u2019s property value by                      using the apostrophe as follows.<\/p>\n<p align=\"left\">show                      t3&#8217;s &#8220;speed<\/p>\n<p align=\"left\">You                      might want to use the apostrophe form in the following way.<\/p>\n<p align=\"left\">t3,                      setspeed t2&#8217;s &#8220;speed<\/p>\n<p align=\"left\">Now                      t3 and t2 are traveling at the same rate. What happens if                      you type: t3, setspeed -10 in the command center?<\/p>\n<p align=\"left\">Turtlesown                      may also be used to restore a turtle to a previous state.                      Let&#8217;s say you want to give each turtle a random home on the                      screen, instead of [0 0], and after running around a bit want                      the turtles to go home. Try the following to see what I mean                      (Be sure there are at least three turtles on the page. The                      more turtles, the merrier!)<\/p>\n<p align=\"left\">turtlesown                      &#8220;oldhome<br \/>\neveryone [setx random 2000 sety random 2000]<br \/>\nsetoldhome POs <em>;this stores the turtles<\/em> current position                      in oldhome<br \/>\neveryone [rt random 360 FD random 3000]<br \/>\neveryone [setpos oldhome]<\/p><\/blockquote>\n<p>An                    important thing you need to understand is that TURTLESOWN is                    a command that will tell all of the turtles in a project to                    remember a particular variable during your work session. The                    best thing about turtlesown is that the state of each variable                    is stored with the project upon saving. This allows you to use                    these values at a later time.<\/p>\n<p><strong>Activities<\/strong><\/p>\n<p>You                    can use TURTLESOWN in all sorts of ways. It can be used to count                    laps around a track or keep track of a turtle&#8217;s age. Here are                    a couple of simple ideas for storing information other than                    screen conditions. What kind of clever uses can you imagine                    for using TURTLESOWN?<\/p>\n<p><strong>Example                    1 \u2014 Turtle Track and Field<\/strong><\/p>\n<p>In                    this exercise, we will keep track of how many times a turtle                    completes a circle.<\/p>\n<ul>\n<li>\n<div>Create                        a textbox and name it COUNTER. Make the font size nice and                        big so you can read the contents of the textbox.<\/div>\n<\/li>\n<li>\n<div>Type                        the following in the command center:<\/div>\n<\/li>\n<\/ul>\n<p>CG<br \/>\nturtlesown &#8220;laps<br \/>\nsetlaps 0<br \/>\nforever [FD 1 rt 1 if POs = [0 0] [setlaps laps + 1]<br \/>\nforever [setcounter laps]<\/p>\n<p>Try                    typing before the above instructions and see what happens.<\/p>\n<p><strong>Example                    2 \u2014 Dodge \u2018em Turtles<\/strong><\/p>\n<p>In                    this exercise, we will keep track of how often a turtle hits                    an object on the screen. If a turtle hits the red circle, it                    will make a random U-turn of between 150 and 209 degrees.<\/p>\n<ul>\n<li>\n<div>Create                        a new project<\/div>\n<\/li>\n<li>\n<div>Hatch                        two more turtles to be sure that there are three on the                        page<\/div>\n<\/li>\n<li>\n<div>Make                        each turtle a different color so we can tell them apart<\/div>\n<\/li>\n<li>\n<div>Draw                        a red circle in the middle of the screen<\/div>\n<\/li>\n<li>\n<div>Double-click                        on the color red in the command center and type the following                        instruction:<\/div>\n<\/li>\n<\/ul>\n<p>setcollisions                    collisions + 1 rt 150 + random 60<\/p>\n<ul>\n<li>\n<div>Click                        on the ONCE button and then click OK<\/div>\n<\/li>\n<li>\n<div>Click                        the eye tool or right mouse button on each turtle and give                        them the same instruction:<\/div>\n<\/li>\n<\/ul>\n<p>FD                    speed<\/p>\n<p>Click                    MANY TIMES and OK<\/p>\n<p>Type                    the following in the command center:<\/p>\n<p>turtlesown                    &#8220;speed<br \/>\nturtlesown &#8220;collisions<br \/>\neveryone [setspeed random 10 setcollisions 0]<br \/>\neveryone [clickon]<\/p>\n<p>Let                    the turtles run and bounce around the screen for a while and                    then check on their collision status.<\/p>\n<p>t2,                    show collisions<br \/>\nshow t3&#8217;s &#8220;collisions<\/p>\n<p><strong>Example                    3 \u2014 The Aging Turtle<\/strong><\/p>\n<p>We                    can ask turtles to keep track of their age as time elapses.                    The command, RESETT, sets the clock to zero and the reporter,                    TIMER, reports the number of tenths of a second that have elapsed.<\/p>\n<p>Program                    each turtle to run the instruction, FD 5 <em>MANY TIMES<\/em><\/p>\n<ul>\n<li>Create                      a new project<\/li>\n<li>Remove                      any turtles on the page<\/li>\n<li>Type                      the following procedures on the procedures page<\/li>\n<\/ul>\n<p>to                    startup<br \/>\ndolist [x turtles] [remove :x]<br \/>\ncarefully [remove &#8220;age] [] <em>;remove the age property                    if it already<\/em> exists<br \/>\nturtlesown &#8220;age<br \/>\nresett <em>;reset the MicroWorlds timer to 0<\/em><br \/>\nend<\/p>\n<p>to                    hatch<br \/>\nnewturtle word &#8220;t ((count turtles) + 1) <em>;hatch a new                    turtle<\/em> and name it t1&#8230;<br \/>\nsetage 0<br \/>\nsetx -250 + (count turtles) * 30 <em>;line the turtles up along                    the x axis<\/em><br \/>\nst<br \/>\nwhen [0 = remainder timer 10] [everyone [setage age + 1 setc                    color + 1 Seth age * 10]]<br \/>\nend<\/p>\n<p>to                    turtles<br \/>\nget first pagelist &#8220;turtles<br \/>\nend<\/p>\n<p><object width=\"353\" height=\"300\" data=\"http:\/\/web.archive.org\/web\/20000708185144\/http:\/\/www.hotsource.com.au\/hatch.mw2\" type=\"application\/x-shockwave-flash\"><param name=\"name\" value=\"Turtle hatching and aging\" \/><param name=\"src\" value=\"http:\/\/web.archive.org\/web\/20000708185144\/http:\/\/www.hotsource.com.au\/hatch.mw2\" \/><\/object><\/p>\n<p>The                    when statement in the hatch procedure checks for each second                    that elapses and then asks every turtle to adjust it&#8217;s age,                    color and heading to show the aging process. Turtles is a reporter                    that reports the list of turtles on the current page. It is                    a good tool procedure to have in your toolbox.<\/p>\n<ul>\n<li>Create                      a ONCE button with the instruction, HATCH.<\/li>\n<li>Type                      STARTUP in the command center<\/li>\n<li>Click                      the hatch button occasionally to hatch a new turtle and watch                      time fly<\/li>\n<\/ul>\n<p>You                    can check the age of a turtle by typing an instruction like,                    SHOW t1&#8217;s &#8220;age.<\/p>\n<p align=\"center\"><span style=\"font-family: Arial,Helvetica,sans-serif; font-size: small;\"><strong>Part                    II &#8211; Project Variables<\/strong><\/span><\/p>\n<p align=\"left\">MicroWorlds                    adds another new data structure called project variables. The                    data in these project variables are saved with the project.                    Therefore, you can remember a piece of information within a                    project, even after your quit MicroWorlds<\/p>\n<p align=\"left\">Local                    and global variables have their particular strengths and weaknesses,                    but neither hold their value when the file is saved. Project                    variables do. Therefore you can set the value of a project variable                    and use that value at a later time.<\/p>\n<p align=\"left\"><strong>Understanding                    Project Variables<\/strong><\/p>\n<p align=\"left\">The                    createprojectvar &#8220;container command creates a variable,                    named <em>container. <\/em>You can then assign a value to that                    variable by typing: setcontainer 57 or setcontainer [Joe Smith]                    or setfoo &#8220;tails. In this way, SET is used to change the                    contents of a project variable, just as it is with a text box.<\/p>\n<p align=\"left\">You                    can find the value of that variable by using its name. For example,                    typing show container would report the value stored in the container                    variable.<\/p>\n<p align=\"left\">You                    can report the current project variables in a project by typing,                    show projectvars.<\/p>\n<p align=\"left\">Delete                    a project variable by typing remove <em>&#8220;variablename<\/em>.<\/p>\n<p align=\"left\">Project                    variables may also be used to keep track of things like high                    scores in video games.<\/p>\n<p align=\"left\"><strong>Activity                    \u2014 Collecting Probability Data<\/strong><\/p>\n<p align=\"left\">We                    already explored flipping a coin in the <em>Running Text in Text                    Boxes<\/em> section, but let&#8217;s build on that idea in a way that                    uses project variables so that you may continue collecting data                    the next time you open the project. This variation on the coin                    tossing theme does not use text boxes to display and record                    the data. All of the record keeping is done in invisible variables.<\/p>\n<div>\n<ul>\n<li>Create                        a new project.<\/li>\n<li>Create                        three text boxes named, table, headscount and tailscount.<\/li>\n<li>Create                        a many times button with the instruction, toss, on it.<\/li>\n<li>Write                        the following procedures on your procedures page.<\/li>\n<li>Type                        the procedures (below) in the procedures page.<\/li>\n<li>Type                        reset in the command center the first time to initialize                        and create the various variables.<\/li>\n<li>Click                        on the button to start the experiment.<\/li>\n<li>Stop                        the procedures at some point and save the file.<\/li>\n<li>Close                        the project.<\/li>\n<li>Open                        the project again and click the button. You should continue                        counting the trials.<\/li>\n<\/ul>\n<\/div>\n<p align=\"left\">Procedures:<\/p>\n<p align=\"left\">to                    reset<br \/>\nsetheadscount 0<br \/>\nsettailscount 0<br \/>\ncarefully [createprojectvar &#8220;heads setheads 0] [] <em>;if                    the project variable already exists do nothing<\/em><br \/>\ncarefully [createprojectvar &#8220;tails settails 0] [] <em>;if                    the project variable already exists do nothing<\/em><br \/>\ntable, ct<br \/>\nend<\/p>\n<p align=\"left\">to                    toss<br \/>\nifelse 1 = random 2 [gotheads] [gottails]<br \/>\nend<\/p>\n<p align=\"left\">to                    gotheads<br \/>\ntable, print &#8220;heads<br \/>\nsetheads heads + 1<br \/>\nsetheadscount heads<br \/>\nend<\/p>\n<p align=\"left\">to                    gottails<br \/>\ntable, print &#8220;tails<br \/>\nsettails tails + 1<br \/>\nsettailscount tails<br \/>\nend<\/p>\n<p align=\"left\">to                    clearvariables<br \/>\nsetheads 0<br \/>\nsettails 0<br \/>\nend<\/p>\n<p align=\"left\"><object width=\"400\" height=\"400\" data=\"http:\/\/web.archive.org\/web\/20001027015759\/http:\/\/www.hotsource.com.au\/coins.mw2\" type=\"application\/x-shockwave-flash\"><param name=\"name\" value=\"Coin probability example\" \/><param name=\"src\" value=\"http:\/\/web.archive.org\/web\/20001027015759\/http:\/\/www.hotsource.com.au\/coins.mw2\" \/><\/object><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Originally published in the October 2000 issue of Australia&#8217;s Hotsource online newsletter Most MicroWorlds users are familiar with the local and global variables built into &hellip; <\/p>\n","protected":false},"author":2,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_wp_convertkit_post_meta":{"form":"-1","landing_page":"0","tag":"0","restrict_content":"0"},"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[479,446,430],"tags":[542,543],"class_list":["post-711","post","type-post","status-publish","format-standard","hentry","category-11-computing","category-classic-stager","category-creativity","tag-logo-programming","tag-microworlds"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>New Ways to Remember in MicroWorlds - Stager-to-Go<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/stager.tv\/?p=711\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"New Ways to Remember in MicroWorlds - Stager-to-Go\" \/>\n<meta property=\"og:description\" content=\"Originally published in the October 2000 issue of Australia&#8217;s Hotsource online newsletter Most MicroWorlds users are familiar with the local and global variables built into &hellip;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/stager.tv\/?p=711\" \/>\n<meta property=\"og:site_name\" content=\"Stager-to-Go\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/gary.stager\/\" \/>\n<meta property=\"article:published_time\" content=\"2009-09-30T07:11:02+00:00\" \/>\n<meta name=\"author\" content=\"Gary Stager\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@garystager\" \/>\n<meta name=\"twitter:site\" content=\"@garystager\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Gary Stager\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711\"},\"author\":{\"name\":\"Gary Stager\",\"@id\":\"http:\\\/\\\/stager.tv\\\/#\\\/schema\\\/person\\\/8bd320bea4758fc56f376ecdd9b8b184\"},\"headline\":\"New Ways to Remember in MicroWorlds\",\"datePublished\":\"2009-09-30T07:11:02+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711\"},\"wordCount\":1679,\"commentCount\":2,\"keywords\":[\"Logo programming\",\"MicroWorlds\"],\"articleSection\":[\"1:1 computing\",\"classic Stager\",\"creativity\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/stager.tv\\\/?p=711#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711\",\"url\":\"https:\\\/\\\/stager.tv\\\/?p=711\",\"name\":\"New Ways to Remember in MicroWorlds - Stager-to-Go\",\"isPartOf\":{\"@id\":\"http:\\\/\\\/stager.tv\\\/#website\"},\"datePublished\":\"2009-09-30T07:11:02+00:00\",\"author\":{\"@id\":\"http:\\\/\\\/stager.tv\\\/#\\\/schema\\\/person\\\/8bd320bea4758fc56f376ecdd9b8b184\"},\"breadcrumb\":{\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/stager.tv\\\/?p=711\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/stager.tv\\\/?p=711#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"http:\\\/\\\/stager.tv\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"New Ways to Remember in MicroWorlds\"}]},{\"@type\":\"WebSite\",\"@id\":\"http:\\\/\\\/stager.tv\\\/#website\",\"url\":\"http:\\\/\\\/stager.tv\\\/\",\"name\":\"Stager-to-Go\",\"description\":\"The personal blog of Gary S. Stager, Ph.D.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"http:\\\/\\\/stager.tv\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"http:\\\/\\\/stager.tv\\\/#\\\/schema\\\/person\\\/8bd320bea4758fc56f376ecdd9b8b184\",\"name\":\"Gary Stager\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"http:\\\/\\\/stager.tv\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Gary-gravatar.png\",\"url\":\"http:\\\/\\\/stager.tv\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Gary-gravatar.png\",\"contentUrl\":\"http:\\\/\\\/stager.tv\\\/wp-content\\\/uploads\\\/2024\\\/03\\\/Gary-gravatar.png\",\"caption\":\"Gary Stager\"},\"description\":\"Veteran educator Gary Stager, Ph.D. is the author of Twenty Things to Do with a Computer - Forward 50, co-author of\u00a0Invent To Learn \u2014 Making, Tinkering, and Engineering in the Classroom, publisher at\u00a0Constructing Modern Knowledge Press,\u00a0and the founder of the\u00a0Constructing Modern Knowledge\u00a0summer institute. He led professional development in the world\u2019s first 1:1 laptop schools thirty years ago and designed one of the oldest online graduate school programs. Gary is also the curator of The Seymour Papert archives at DailyPapert.com. Learn more about\u00a0Gary here.\",\"sameAs\":[\"http:\\\/\\\/cmkpress.com\\\/gary\"],\"url\":\"http:\\\/\\\/stager.tv\\\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"New Ways to Remember in MicroWorlds - Stager-to-Go","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/stager.tv\/?p=711","og_locale":"en_US","og_type":"article","og_title":"New Ways to Remember in MicroWorlds - Stager-to-Go","og_description":"Originally published in the October 2000 issue of Australia&#8217;s Hotsource online newsletter Most MicroWorlds users are familiar with the local and global variables built into &hellip;","og_url":"https:\/\/stager.tv\/?p=711","og_site_name":"Stager-to-Go","article_publisher":"https:\/\/www.facebook.com\/gary.stager\/","article_published_time":"2009-09-30T07:11:02+00:00","author":"Gary Stager","twitter_card":"summary_large_image","twitter_creator":"@garystager","twitter_site":"@garystager","twitter_misc":{"Written by":"Gary Stager","Est. reading time":"8 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/stager.tv\/?p=711#article","isPartOf":{"@id":"https:\/\/stager.tv\/?p=711"},"author":{"name":"Gary Stager","@id":"http:\/\/stager.tv\/#\/schema\/person\/8bd320bea4758fc56f376ecdd9b8b184"},"headline":"New Ways to Remember in MicroWorlds","datePublished":"2009-09-30T07:11:02+00:00","mainEntityOfPage":{"@id":"https:\/\/stager.tv\/?p=711"},"wordCount":1679,"commentCount":2,"keywords":["Logo programming","MicroWorlds"],"articleSection":["1:1 computing","classic Stager","creativity"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/stager.tv\/?p=711#respond"]}]},{"@type":"WebPage","@id":"https:\/\/stager.tv\/?p=711","url":"https:\/\/stager.tv\/?p=711","name":"New Ways to Remember in MicroWorlds - Stager-to-Go","isPartOf":{"@id":"http:\/\/stager.tv\/#website"},"datePublished":"2009-09-30T07:11:02+00:00","author":{"@id":"http:\/\/stager.tv\/#\/schema\/person\/8bd320bea4758fc56f376ecdd9b8b184"},"breadcrumb":{"@id":"https:\/\/stager.tv\/?p=711#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/stager.tv\/?p=711"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/stager.tv\/?p=711#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"http:\/\/stager.tv\/"},{"@type":"ListItem","position":2,"name":"New Ways to Remember in MicroWorlds"}]},{"@type":"WebSite","@id":"http:\/\/stager.tv\/#website","url":"http:\/\/stager.tv\/","name":"Stager-to-Go","description":"The personal blog of Gary S. Stager, Ph.D.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"http:\/\/stager.tv\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"http:\/\/stager.tv\/#\/schema\/person\/8bd320bea4758fc56f376ecdd9b8b184","name":"Gary Stager","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"http:\/\/stager.tv\/wp-content\/uploads\/2024\/03\/Gary-gravatar.png","url":"http:\/\/stager.tv\/wp-content\/uploads\/2024\/03\/Gary-gravatar.png","contentUrl":"http:\/\/stager.tv\/wp-content\/uploads\/2024\/03\/Gary-gravatar.png","caption":"Gary Stager"},"description":"Veteran educator Gary Stager, Ph.D. is the author of Twenty Things to Do with a Computer - Forward 50, co-author of\u00a0Invent To Learn \u2014 Making, Tinkering, and Engineering in the Classroom, publisher at\u00a0Constructing Modern Knowledge Press,\u00a0and the founder of the\u00a0Constructing Modern Knowledge\u00a0summer institute. He led professional development in the world\u2019s first 1:1 laptop schools thirty years ago and designed one of the oldest online graduate school programs. Gary is also the curator of The Seymour Papert archives at DailyPapert.com. Learn more about\u00a0Gary here.","sameAs":["http:\/\/cmkpress.com\/gary"],"url":"http:\/\/stager.tv\/?author=2"}]}},"jetpack_featured_media_url":"","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"http:\/\/stager.tv\/index.php?rest_route=\/wp\/v2\/posts\/711","targetHints":{"allow":["GET"]}}],"collection":[{"href":"http:\/\/stager.tv\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/stager.tv\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/stager.tv\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"http:\/\/stager.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=711"}],"version-history":[{"count":0,"href":"http:\/\/stager.tv\/index.php?rest_route=\/wp\/v2\/posts\/711\/revisions"}],"wp:attachment":[{"href":"http:\/\/stager.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=711"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/stager.tv\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=711"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/stager.tv\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=711"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}