Sharing with Students


Creating an INIT.LGO file shares procedures,names and property lists that automatically load each time the student logs in. This is a great way to provide a customized environment for your class.

To create an INIT.LGO file:

  1. create the procedures, names, and property lists you wish your students to have.
  2. save the file as INIT.LGO You must name the file INIT.LGO. Save it at the classroom or at the top level. You don't need to save it into every student's folder.

This will create a “mirrored” copy of the file in each students folder and will load each time they log in.

You may update this file as needed.

Remember that the classroom storage is “~CLASS”.

Students can open the files, and edit them however they revert back when a student logs out, they can not permanently change the files.

Logo loads the top-level INIT.LGO file first, then the classroom-level INIT.LGO file, and finally, the INIT.LGO file stored in the student's folder (provides that they exist). This way, an administrator can store global settings at the top level, and a teacher can store class-specific settings at the classroom level.

Using the Editor

As an example, look at this file (comments added for clarity):


For this example, follow these steps:

  1. Open the Editor panel and paste the above file.
  2. Make sure that your storage is set to ~CLASS (check the File/Storage menu item).
  3. Select “File/Save/Editor…”.
  4. Select your classroom (if you are logged in as teacher, your classroom is already the top-level folder).
  5. Enter INIT.LGO into the edit field at the bottom (or click INIT.LGO in the list of files if it is already present).
  6. Click “Save”.

Saving your workspace

If you do not want to use the editor, define POLYGON; then, define a procedure MAIN that contains all of the above settings:

    ; delete the prompt
    MAKE "PROMPT "||
    ; set autosave to save everything
    ; and print stuff for the students to read
    PR `Today's task: What is wrong with the procedure POLYGON?`
    PR `Find out how to fix the procedure; use EDIT "POLYGON to edit the procedure.`

Then, simply save your workspace into the classroom folder. You can either use the File/Save/Logo File menu command, or you use Logo's SAVE command.

If you have logged in with a license code, you add the classroom name to the file's path to save a classroom setting:

SAVE "~CLASS/classroomname/INIT.LGO

To save global settings for eveybody, save at the top level:


If you have logged in as a teacher, your classroom has already been pre-selected, so use this command to save your classroom settings:


Whenever a student logs in, Logo loads INIT.LGO from the classroom folder and runs its MAIN procedure if it is defined, causing the same effects as if you had used the editor.

Shared Files for All Classrooms

This section is for users who log in with a license code.

When you log in with a license code, you can see all of your classrooms as sub-direcories. You can save an INIT.LGO file at the top level of your ~CLASS storage to share it with all of your classrooms. Every file that you save at the top level is mirrored in every classroom folder as well as in every student folder. So, if you save an INIT.LGO file at the top level, every student in every classroom loads this INIT.LGO file every time the student logs in. You do not need to save a copy of INIT.LGO in every classroom; one shared INIT.LGO file is fine for all classrooms and students at once.

You can store other files that you want to share at the top level. If you, for example, want to share a file with certain procedures, save them under a different name at the top level. The files will be available to everybody as virtual (mirrored) read-only files.

Note that although Logo loads a top-level or class-level INIT.LGO file, the file is not mirrored. FOr teachers, the global INIT.LGO file is invisible, and for students, both the global and the class-level INIT.LGO files are invisible. This is becasue teachers may want to store a classroom-level INIT.LGO file, and students may want to store their own INIT.LGO files.

INIT.LGO examples

The following code snippets are useful if you would like to create settings at the global or classroom level. Please note that you can change your settings normally and then just save your (otherwise empty) workspace with these commands:

ERALL ; clear the workspace

This will save a copy of the “PREFS variable, which contains most of the important settings. These settings will be loaded when a student logs in. In the examples below, the PPROP “PREFS commands are outlined, but you can as well just change the required setting in the Settings dialog.

Some of the available settings are actually Logo names. See the page "Global Variables" for a complete list. You need to use the MAKE command to set these values.

Create a library of functions

Edit your functions, and save the contents of the editor as, for example, LIBRARY.LGO if you want people to load the library manually with a LOAD “LIBRARY command.

Have turtles display their pen color


Remove the prompt




Note that you can just change the settings and then SAVE the empty workspace.

Save a specific window layout

  • Drag and resize the Logo panels to your liking.
  • Enter :LAYOUT and copy the resulting list.
  • In INIT.LGO, enter MAKE “LAYOUT and paste that list to set the layout with the desired values.