Here you will find a transcription of the presentation used for the Water Coach Course.

Water Coach - Scenario and Script

Water Coach consists of

  • Scenario (weather and water)
  • Script (things that can be adjusted to aid the learning objective)

The Water Coach can be used in a

  • Exercise (team)
    • Probably only scenario, not the script
    • Focus on team interaction, communication
  • Training (single player)
    • Both scenario and script
    • Focus on training skills

Water Coach - Learning objectives

What are the learning objectives of the Water Coach?

  • Forecast
    • Communication
      • ask the right questions (gather information)
      • supply clear information
      • deal with interruptions (press, etc)
    • Deal with events (less relevant)
      • failing of measurements, tools, phone lines, etc
      • events that influence the work like a sinking ship, failing measure, etc
        How can we reach these learning objectives?
  • Select (and edit) interesting scenario
  • Adapt the script to the needs of the player

Design scenario and script

What do you need to edit a scenario to reach the learning objectives?

  • Fill FEWS local data store
  • Put in scenario/script database
  • This is not further detailed in this course

What do you need to create a script to reach the learning objectives?

  • Interactive script
    • Choices (made by player)
    • Conditions (pre-defined in script)
  • Format forecast table
  • Feedback

Making a script interactive

With choices and conditions

  • Choices (made by the player)
    • Present player with a choice. This has been geared towards the task of gathering data:
      If the player calls the right person during the proper timeslot, the player gets additional information.
  • Conditions (predefined in script)
    • If <event> occurs then <message>
    • An <event> can be
      • prediction above or below a certain value
    • Such an event can cause
      • pop-up of a <message>
        • Simple version of branching is pop-up of a single message (i.e. phone call, warning, …)

Forecast table

Fully configurable: number of columns and rows, headers, cells editable columns, units, language.

Syntax of a forecast table
<forecastTable>
   <header>
      <column id="sector">sector</column>
         [...]
      <column id="astro_level" unit="cm">astro water level</column>
      <column id="svsd_forecast" unit="cm" isEditable="true">SVSD forecast</column>
   </header>
   <row id="Vlissingen">
      <cell columnId="sector">Schelde</cell>
         [...]
      <cell columnId="astro_level">237</cell>
   </row>
</forecastTable>

Feedback

Learning will be based on feedback, not on a scoring system
Base feedback on

  • comparison of player’s forecast to
    • actual forecast
    • forecasts from previously or simultaneously played games
  • choices made and conditions that were triggered
    • all actions of the player within Water Coach are logged

Exercises

  1. Inspect the application configuration for Noordzee (the file “application_config_Noordzee.xml”) and set the preferred language (e.g. to “NL” or “EN”).Run the Water Coach (the file ”WaterCoach_Noordzee.exe”) and choose the scenario named “course”. Follow the on-screen instructions.
  2. The current script runs for 10 seconds.Extend the length of the script by changing the value of the <ScriptStop> keyword (in the file “script_config.xml” in the appropriate directory of the scenario database). Test it!
  3. Imagine that you need to create a script for a new trainee. Download an appropriate image (e.g. in jpg format) from the internet that you want to show at the beginning of the script (sort of a splash screen).Add the image to the scenario database directory and add a frame to the inbox that displays this image at the start of the script.
  4. The goal of the script is to make a forecast.Press the “Forecast” button to bring up the forecast table. The content of the forecast table is also configured in the file “script_config.xml”. Add at least one non-editable and one editable column to the forecast table. Also, add at least one row to the table. Use your creativity for suitable content. Feel free to change the existing content of the forecast table. Test it!
  5. So-called stories can be used to add dynamical content to the script. Press the “Story” button to see an example. Add a second story to the script that contains at least three time frames. Make the first frame active for the first 30 seconds of the script, the second frame active for the next 30 seconds, and so on. Use a <Message> event for one time frame and <File> events for the other two (with two different file types, e.g. txt and pdf). Experiment with the <Popup> keyword in a story.
  6. Another way of making a script dynamical is provided by conditional frames. For each frame (either in the inbox or in a story), a condition can be specified based on the forecast that has been published by the user. The syntax of a conditional frame is given below. Add a condition to one of the frames in your script based on one of the columns and rows in your forecast table. You may also duplicate the frame and use disjunct conditions for the two frames. Test it!
  7. So far, alterations to the script have been made without referring to the scenario, i.e. the contents of the FEWS local data store. Start-up FEWS and inspect the data that is available. Construct a simple script with events for a trainee in which he/she has to inspect the data in FEWS in order to be able to publish a forecast (for a location and parameter of your choice). Give feedback at the end of the script about the forecast that he/she made.
Syntax of a conditional frame
<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastPublished>
      <operator>eq or ne</operator>
      <value>true or false</value>
   </ifForecastPublished>
</condition>

<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastPublicationTime>
      <operator>before or after</operator>
      <value date="yyyy-mm-dd" time="hh:mm:ss"/>
   </ifForecastPublicationTime>
</condition>

<condition>
   <columnId>one of your forecast columns</columnId>
   <rowId>one of your forecast rows</rowId>
   <ifForecastValue>
      <operator>lt, le, gt, or ge</operator>
      <value>an integer value</value>
   </ifForecastValue>
</condition>
  • No labels