The goal is to achieve learning learning objectives in parallel and distributed computing, with a focus on performance, and to introduce cyberinfrastructure concepts and methods. This is achieved via pedagogic modules that explore, at first elementary and later sophisticated, relevant concepts. Most modules include hands-on "activities" in which students explore and experiment with simulated application executions using the WRENCH and SimGrid simulation frameworks. These modules can be used to enhance/augment existing courses, such as university or on-line courses, or can simply be done in sequence by independent learners.
Teaching computer programming skills is not part of the goal (to date, no computer programming is required). The content makes reference to programming techniques, and sometimes suggests programming activities. This is because many of the learning objectives target concepts that are fundamental for developing (efficient) programs that execute or parallel and distributed platforms. As a result, these modules can be used effectively to complement a course that includes computer programming components.