Best Practices in HPC Training

This ENCCS instructor training material is focused on helping competent practitioners and experts teach their knowledge to others. It also serves a kickstart to teaching ENCCS lessons.

The material presented here is partly derived from two instructor training resources developed in the CodeRefinery project as well as the instructor training lesson from The Carpentries:

Inspiration has also been drawn from the free online book Teaching Tech Together by Greg Wilson.

After attending a workshop covering this material, learners should:

  • Have increased confidence in teaching interactive workshops in online and in-person settings.

  • Be familiar with important pedagogical concepts and scientific findings about how people learn new skills.

  • Appreciate the importance of frequent hands-on practice in building skill.

  • Understand how learning can be improved by following certain best practices in interactive teaching.

  • Know how to backwards-design training material based on intended learning outcomes.

  • Know about important differences between online and in-person training and how inherent challenges in online training can be overcome.

  • Be familiar with a technical approach to collaboratively developing open source lessons based on a template.


This course has no strict prerequisites, but

  • It is helpful if you have attended an ENCCS or CodeRefinery workshop, which are taught in an interactive and hands-on way.

  • We assume you already have competence in the technical topics and tools you want to teach.

  • While not a prerequisite for this course, version control (Git) is necessary to contribute to lesson development the way we show here (but the lesson design concepts are applicable to other styles, too).

Before the workshop

Who is the course for?

Teaching is a profession, but also something that everyone needs to be able to do to some degree, since everyone has their own personal specialties they will either teach or mentor.

This course can be relevant for different learner personas:

  • You run a practical teaching program at your institution (for example as part of a research computing group) and would like to learn best practices for collaborative teaching of technical topics, so that you aren’t re-inventing the same thing over and over again.

  • You are a technical specialist who is frustrated with the way you currently try to teach others who need to use your software or infrastructure. You can’t spend too much time to become a professional, but you know you need something more than what you’ve been doing. Thus, you would like to adopt some of the best practices of designing and teaching interactive, hands-on workshops.

  • You’ve been teaching alone, but would like to join a collaboration network for more co-teaching and to reduce the amount of duplication of effort.

  • You are interested in teaching ENCCS lessons, and would like a comprehensive kick-start to how ENCCS workshops work, either to join us, or teach our lessons with us or independently.

About the course

This course gives an introduction to

  • Science and philosophy of teaching.

  • How to teach interactive, hands-on workshops.

  • How to design interactive, hands-on lessons.

  • How ENCCS has taken the best advantage of online teaching.

  • How ENCCS runs workshops.


The lesson file structure and browsing layout is inspired by and derived from work by CodeRefinery licensed under the MIT license. We have copied and adapted most of their license text.

Instructional Material

All ENCCS instructional material is made available under the Creative Commons Attribution license (CC-BY-4.0). The following is a human-readable summary of (and not a substitute for) the full legal text of the CC-BY-4.0 license. You are free:

  • to share - copy and redistribute the material in any medium or format

  • to adapt - remix, transform, and build upon the material for any purpose, even commercially.

The licensor cannot revoke these freedoms as long as you follow these license terms:

  • Attribution - You must give appropriate credit (mentioning that your work is derived from work that is Copyright (c) ENCCS and, where practical, linking to, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.

  • No additional restrictions - You may not apply legal terms or technological measures that legally restrict others from doing anything the license permits. With the understanding that:

    • You do not have to comply with the license for elements of the material in the public domain or where your use is permitted by an applicable exception or limitation.

    • No warranties are given. The license may not give you all of the permissions necessary for your intended use. For example, other rights such as publicity, privacy, or moral rights may limit how you use the material.

See also