Because different compute resources have different features, this
lesson, by necessity, should be thought of as completely modular.
We have here the basic topics that might be required, in a recommended order, but additions and deletions are encouraged, based on the needs of the audience and the compute resource that is being used. It could also be expanded or contracted to fill a certain amount of time – the default time period should be about day, but for a complete novice audience (has never used the command line), it should be more like a day and a half, or two days.
To do this exercise, you will need about 50-100 pieces of paper or sticky notes.
Divide the pieces of paper / sticky notes among the “users” and have them fill out all the pages with simple math problems and their name. Tell everyone that these are the jobs that need to be done and correspond to their computing research problems.
Point out that we now have jobs and we have “compute nodes” (the people still sitting
down) that can solve these problems. How are the jobs going to get to the nodes?
The answer is the scheduling program that will take the jobs from the users and deliver them to open compute nodes.
Have all the “compute nodes” raise their hands. Have the users “submit” their jobs by handing them to the schedulers. Schedulers should then deliver them to “open” (hands-raised) compute nodes and collect finished problems and return them to the appropriate user.
Wait until most of the problems are done and then re-seat everyone.
The instructor notes should provide additional discussion useful to instructors, but not appropriate for inclusion in the main lessons. The following structure provides a consistent way for instructors to both prepare for a workshop and quickly find necessary information during a workshop.
Please remember not to overload on details, and to keep the comments here positive!
These concepts should be highlighted in the main lesson material, but ideas for explaining these concepts further can be placed here.
Most lessons contain more material than can be taught in a single workshop. Describe a general narrative (with time estimates) for teaching either a half day or full day with this lesson material. You may also choose to include multiple options for lesson design, or what material can be skipped while teaching. This section may also include recommendations for how this lesson fits into the overall workshop.
Provide information on setting up your environment for learners to view your live coding (increasing text size, changing text color, etc), as well as general recommendations for working with coding tools to best suit the learning environment.
This can include answers to common learner questions, as well as links to resources (blog posts, stack overflow answers, etc) that may solve problems that may occur during a workshop.