Grid Computing Education
Jens Mache, Lewis & Clark College (Portland, Oregon / USA)
Amy Apon, University of Arkansas (Fayetteville, Arkansas/ USA)
with support from the National Science Fundation (grant DUE-0411237).

Major Publications For pointers to the classroom exercises that we developed, go here.
Contact us for further information.

Workshops

We started a "Grid.Edu" workshop. It met in 2004 and in 2005 as part of the CCGrid conference. Contact us if you are interested.
There was a panel at the 2008 ACM SIGCSE conference on computer science education. The title of the panel is "Grid Computing at the Undergraduate Level: Can We Do It?" Our panelists will be
Jens Mache (Lewis & Clark College),
Amy Apon (University or Arkansas),
Thomas Feilhauer (Fachhochschule Vorarlberg/ Austria) and
Barry Wilkinson (University of North Carolina, Charlotte).
For dissemination and to educate other educators, Jens Mache gave a tutorial at the Eighth Annual Northwestern Regional Conference of CCSC (Consortium for Computing Sciences in Colleges). The conference took place in October 2006, in corporation with the ACM Special Interest Group on Computer Science Education (SIGCSE).
Example courses
4-credit course (taught by Jens Mache, fall 2006, at Lewis&Clark)
2-credit course (taught by Jens Mache, summer 2006, at FHU)
2-credit course (taught by Jens Mache, summer 2006, at HHN)
1 week [scroll to 04/13] (taught by Amy Apon, spring 2006, at UArkansas)
1 week (taught by Amy Apon, spring 2005, at UArkansas)
4-credit course (taught by Jens Mache, fall 2004, at Lewis&Clark)
4-credit course (taught by Amy Apon, fall 2004, at UArkansas)
1 week (taught by Amy Apon, spring 2004, at UArkansas)

Recommendations

1. Cover (or have as prerequisite) network programming in Java in general, and Remote Method Invocation (RMI) in particular.
RMI introduces many important concepts before students are presented with the complexity of web services and grid programming. Such concepts include stub compilation and interfaces versus implementations. Moreover, students become comfortable managing a large number of files and compilation steps.
2. Cover web services in general, and XML and WSDL in particular.
3. Cover certificates, at least step-by-step, and with theoretical background if possible.
Typically, one cannot even submit a simple program to the grid without proper certificates.
4. Follow a first, as simple as possible grid programming exercise (that works and builds confidence) with at least one additional grid programming exercise.
This provides the opportunity for reinforcement and more substantial code writing.
5. Do not underestimate the time and effort required locally to set up the required software environment (installation and system scripts).
In fall 2004, at the University of Arkansas, a graduate student system administrator with previous Linux experience was hired for ten hours per week to administrate the web services and GT3 environment for most of the semester. GT4 installation seems easier. Alternatives such as the Virtual Data Toolkit are now available for setting up a Globus Toolkit environment. Running stand-alone containers on individual student computers is recommended over sharing one server for all students.
The effort to move from GT3 to GT4 for the basic exercise was manageable. For advanced undergraduate students, tt appears that learning GT4 is not more difficult than learning GT3.

Moreover, it is possible to teach simple grid submission exercises to beginning programming students, but the infrastructure for doing this must be flawless for the exercise to be successful. Prerequisite knowledge includes some knowledge of the use of the computer for solving problems (e.g., computational science) and the concept of batch submission.

This material is based upon work supported by the National Science Foundation under Grant No. 0411237.

Any opinions, findings, and conclusions or recommendations expressed in this material are those of the author(s) and do not necessarily reflect the views of the National Science Foundation.