// Step: The title that the student sees in overview/progress panel // Type: specifies whether this is a recursive script or wizard // Location: specifies where to find the script; Used by WizardFactory to determine the wizard to use // and by ScriptModel to find the appropriate script // For Location Step: // Section: The section in code in which the student must locate it // Action: The value of Statement in specification that points to what the student should have selected // e.g., could be Subsection, Prompt or Input for variable input // Modifies: The name of the attribute modified in problemSpec which can be used by a subsequent step // to conidtionally pick a course of action // SHOULD THIS BE IN REPEAT_WHILE BECAUSE IT IS USED TO REPEAT CODE AND NOT COMPUTE ANYTHING? // ALSO, NOTE THAT SECTION IS PROGRAM HERE! // Select the code that should be enclosed in the loop Step: Select the code that must be repeated Type: Wizard Location: select Section: Program Action: Loop-Update // Reveal: None // Now, have them write the shell Step: Write the shell of while loop Type: Wizard Location: enclosing_codereveal Section: Program Action: Loop-Update Reveal: Shell // Write the condition Step: Write the condition of while loop Type: Wizard Location: codereveal Reveal: Condition // Locate Initialization Step: Locate where the loop variable will be initialized Type: Wizard Location: locate Section: Program Action: Initialization // Write initialization Step: Write the initialization of while loop Type: Script Location: control/input Parameter: Section: Program // Locate Update Step: Locate where the loop variable will be initialized Type: Wizard Location: locate Section: Program Action: Update // Write the update Step: Write the update of while loop Type: Script Location: control/input Parameter: Section: Program