1. Define intended audience, topics, and agenda:
    1. Beginning vs. Advanced user
    2. Will participants bring their own projects and/or work on prepared examples and exercises?
    3. Beginning Workshops:
      1. Mix lecture, demo, and hands-on example
      2. Examples should ideally have a fun end result or incorporate team work/friendly competition
      3. Incorporate questions after each part of an example to encourage group discussion
      4. See example agenda for typical workshop flow
    4. Advanced:
      1. Start with lectures, demos, and hands-on examples, emphasizing best practices, troubleshooting, and what's happening "under the hood"
      2. Often follow lectures and exercises with work on team projects by themselves or in a group
      3. Finish with project presentations (need a template for this)
      4. See example agenda for typical workshop flow
  2. Create and post registration/application materials
    1. Describe intended audience and objectives to set clear expectations
    2. Advertise on Biomch-L, OpenSim mailing list, and other forums
    3. Materials to ask for in the registration/application
      1. Participant contact information
      2. Prior experience with modeling/simulation and OpenSim
      3. Desired topics at the workshop
      4. Advanced: Description of the project the plan to work on
    4. See examples registration/application form
    5. Review participants' desired topics and project areas and refine agenda as needed
  3. Communicate with participants to help them prepare for the workshop
    1. Send information about how to download the software, the agenda, and other logistical details (travel and lodging information, if applicable)
    2. Clearly communicate to participants what they can expect to learn and accomplish at the workshop
    3. Send participants instructions about downloading and installing the version of the OpenSim software that you plan to use at the workshop
    4. Create a SimTK project page to post workshop materials and make a mailing list:
      1. Example: https://simtk.org/home/opensimws_aug11
    5. Beginning Workshops:
      1. Encourage to complete tutorials
    6. Advanced Workshops:
      1. Prepare data and define project goals.
      2. Send feedback to participants to help them revise and refine their goals
      3. See template slides and example slides
    7. See example documents
  4. Logistical Details (room set-up, food, etc.):
    1. Ideal room set-up has group tables and desks at minimum
    2. Make sure room has power equipment for participants' laptops
    3. Create a spreadsheet to track participant information and project topics
    4. If desired, set-up videotaping to record lectures, project presentations, or participant interviews
    5. Advanced:
      1. Assign participants to groups working in similar project areas and seat together
      2. Typically arrange for breakfast on the first day and coffee throughout
      3. Organizing a social gathering on the first evening is nice for participants to meet each other in an informal setting
      4. Typically set up a closing mixer
  5. Create and test hands-on examples
    1. Compile all model and data files that participants will use
    2. Create a step-by-step guide for the exercise or adapt an existing guide
    3. Test the examples extensively to improve clarity and make sure example produces the expected results
    4. Post files on the workshop's SimTK project, if files are included in the current OpenSim distribution
    5. See the List of OpenSim Workshop Materials
    6. Examples should be thoroughly tested in the version of the software that participants will be using
  6. Prepare lecture materials
    1. Welcome slides:
      1. Introduce participants to the OpenSim project
      2. Describe agenda and set objectives
      3. Encourage participants to help each other and help themselves
    2. Other Lectures:
      1. Mix theory/lecture with hands-on material and demos
    3. See the List of OpenSim Workshop Materials
    4. Create PDFs of lecture slides and post for participants on the SimTK project page
  7. Prepare workshop handouts
    1. We typically provide participants with two handouts:
      1. Guides to the exercises
      2. A larger booklet with an introduction to the workshop and chapters on the topics covers during the workshop
    2. See the List of OpenSim Workshop Materials
  8. Create a workshop survey to get feedback from participants
    1. Google surveys have worked well
    2. Get feedback on workshop lectures, examples, use of OpenSim
    3. Example Workshop Surveys:
      1. Beginner: https://docs.google.com/spreadsheet/ccc?key=0Ao9A_w-0xOYxdHNzaTRyTTdlN1VNQTdNUnNEZ2JaUFE&hl=en_US
      2. Advanced: https://docs.google.com/spreadsheet/ccc?key=0Ao9A_w-0xOYxdENhWmt3bkdiZmt0U3JIOUdWcDhFU0E&hl=en_US
  9. Running the workshop
    1. Encourage participants to help each other and help themselves by using the lecture materials, handouts, and other online materials like the user forum and user guides
    2. Particularly in advanced workshops, match participants up with a member of OpenSim with appropriate expertise
    3. Encourage everyone to take lunch and other breaks
    4. If possible, it can be nice to play music during exercises and project work
    5. Advanced:
      1. In the opening project presentations and throughout the workshop, help participants refine and focus their goals so they are manageable within the workshop timeframe
      2. Provide guidelines for closing presentations
  10. Workshop Follow-up
    1. Remind participants to fill out the workshop survey
    2. Collect slides from participants' final projects presentations
    3. Provide participants with resources to stay involved in the OpenSim project
    4. Post and share project slides, pictures, and videos from the workshop
    5. Update the core workshop materials with any additions and improvements
    6. Encourage workshop participants to contribute back. Ask them to share or send the models or simulations they create. Encourage participants to share their story of the event via video interview or other means.
  11. If this is your first time running the workshop, it is very helpful to do one or more test runs with a small group of people. These test runs are incredibly useful for refining the tutorials, lectures, etc.