Instructor note

  • 10 min teaching

  • 5 min discussion

Training providers

Many training providers offer free hands-on technical workshops to help researchers, engineers, and data scientists enhance their skills and productivity. This page highlights three projects that share a common teaching approach, covering topics from beginner-level programming to advanced HPC for experts.

The Carpentries

../_images/TheCarpentries.png

The Carpentries is an international project that comprises Software Carpentry and Data Carpentry, communities of instructors, trainers, maintainers, helpers, and supporters who share a mission to teach foundational computational and data science skills to researchers. The Carpentries teach foundational coding and data science skills to researchers worldwide.

Carpentry instructor training

ENCCS instructors are encouraged to complete the Carpentry instructor training workshop, which anyone can apply for.

This instructor training lesson presents several concepts and methods from the Carpentries approach to teaching and highlight parts that are most important for teaching ENCCS style lessons. We encourage you to further study the Carpentry lesson later and to sign up for a 2-day Carpentry intructor training workshop.

Carpentries audience

The Carpentries aims to teach computational competence to learners through an applied approach, avoiding the theoretical and general in favor of the practical and specific. Learners do not need to have any prior experience in programming. One major goal of a Carpentry workshop is to raise awareness on the tools researchers can learn/use to speed up their research.

By showing learners how to solve specific problems with specific tools and providing hands-on practice, learners develops confidence for future learning.

Novices

Carpentry learners can be qualified as novices: they do not know what they need to learn yet. A typical example is the usage of version control: the Carpentry git lesson aims to give a very high level conceptual overview of Git but it does not explain how it can be used in research projects.

Available lessons

HPC Carpentry

HPC Carpentry teaches HPC-oriented coding and data science skills to researchers and aims to bring High Performance Computing under the Carpentries umbrella. HPC Carpentry is a set of teaching materials designed to help new users take advantage of high-performance computing systems. No prior computational experience is required - these lessons are ideal for either an in-person workshop or independent study.

Available lessons:

Data Carpentry

Data Carpentry develops and teaches workshops on the fundamental data skills needed to conduct research with the mission to provide researchers with high-quality, domain-specific training covering the full lifecycle of data-driven research. Data Carpentry workshops are domain-specific, teaching researchers the skills most relevant to their domain and using examples from their type of work.


CodeRefinery

../_images/logo-color-3d-cropped.png

CodeRefinery is a Nordic e-Infrastructure Collaboration (NeIC) project that started in October 2016. The main goals of CodeRefinery are:

  • Develop and maintain training material on software best practices for researchers that already write code. The CodeRefinery lessons address all academic disciplines and try to be as programming language-independent as possible.

  • Provide a code repository hosting service that is open and free for all researchers based in universities and research institutes from Nordic countries.

  • Provide training opportunities in the Nordics using Carpentries and CodeRefinery training materials.

  • Articulate and implement the CodeRefinery sustainability plan.

CodeRefinery audience

CodeRefinery workshops differ from Carpentry workshops as the audience is assumed to already write code and scripts and we aim at teaching them best software practices.

CodeRefinery learners usually do not have a good overview of best software practices but are aware of the need to learn them. Very often, they know the tools (Git, Jupyter, etc.) we are teaching but have difficulties to make the best use of them in their software development workflow.

Competent practitioners

CodeRefinery learners can be qualified as competent practitioners because they already have an understanding of their needs. Novices and competent practitioners will be more clearly defined in a later section.

Available lessons

Many CodeRefinery contributors work at HPC centres, and several lessons on HPC have been developed:


ENCCS

../_images/ENCCS_Logo_Horizontal_Colour.png

ENCCS (EuroCC National Competence Center Sweden) is one of 33 nodes of the EuroCC project, which is funded by the European High-Performance Computing Joint Undertaking (EuroHPC-JU). As an NCC, we act as the central point of contact for HPC and related technologies in Sweden. Our mission is to empower Swedish industry, academia and the public sector to leverage HPC, AI, and HPDA efficiently and effectively.

ENCCS pillars

Training is one of the main pillars of ENCCS’ activities. We have developed a large amount of public and open source lesson material and have organised, taught or contributed to over 60 online workshops since September 2020. Our training philosophy and methods are to a large extent derived from two well established educational initiatives: CodeRefinery and The Carpentries. The material presented here covers both pedagogical ideas and practical aspects which underpin the development of lesson material, organisation of online or in-person workshops and the teaching itself.

ENCCS audience

Similarly to CodeRefinery, ENCCS primarily targets competent practitioners in training workshops: participants are assumed to know what their needs are. Typically, their needs are to learn a technique or method to adapt their code to HPC, to learn novel programming languages or frameworks, or to deepen their knowledge of machine learning methods.

Available lessons

For full overview, see ENCCS lessons.

GPU programming

General HPC

Programming languages

AI/ML

Applications

Tools

Quantum computing


CSC - IT Center for Science, Finland

../_images/CSC.png

CSC- IT Center for Science is one of 33 nodes of the EuroCC project, which is funded by the European High-Performance Computing Joint Undertaking (EuroHPC-JU). As a National Competence Center (NCC), we act as the central point of contact for HPC and related technologies in Finland. Our mission is to empower Finnish industry, academia and the public sector to leverage HPC, AI, and HPDA efficiently and effectively.

CSC’s training provides assistance and advice in using competitive resources for leading edge research. Our trainings are suitable beginners as well as advanced users and are lead by our top experts variously online and onsite. CSC training activities are centered around the services offered for research and industry: Super- , cloud- and quantum computing, data storage and sharing, working with sensitive data and software as well as domain specific trainings. We also provide specific training for LUMI supercomputer.

CSC audience: Researchers, students and data support personnel and anyone wanting to use CSC computing and data resources more efficiently in their work.

CSC training offerings

Please check the CSC training calendar for information on upcoming training. Note that only a few courses currently have training materials publicly available.

AI and Data Analytics

Courses in AI, Machine Learning and Data Analytics, covering both theory and hands-on approaches:

  • Data Analysis with R

  • High Performance R

  • Fundamentals of Machine Learning

  • Practical Deep Learning

Bioinformatics and Life Sciences

Bioinformatics and life science needs of scientists is quite diverse and thus courses helping them deploy their tools, analyse and store data plays a crucial role in enabling high quality bioscience research. These diverse needs include sensitive data handling and high-throughput computing of growing volumes of biological data:

  • Containers and workflows in Bioinformatics

  • Single-cell RNA-seq data analysis using Chipster

We also organise/coordinate some external events/trainings:

  • ELIXIR /BioExcel events (webinars)

  • Microbiome analysis course

Chemistry

Courses tackling various themes of computational chemistry from the level of single atoms and molecules to large biomolecular systems such as proteins and membranes. These courses equip you with tools and methods to study chemical systems efficiently on modern supercomputers:

  • CSC Spring School on Computational Chemistry

  • Advanced GROMACS workshop

  • Schrödinger Maestro workshop

Cloud Computing

Courses that range from entry level introduction to more advanced and specific topics. Entry level courses that require no previous experience with the tools (OpenStack and OpenShift) that prepare the student to be an independent user of the platforms. The more advance courses are perfect for diving into the complexities of the tool in a easy to follow manner:

  • CSC Pouta Cloud Course

  • Container clouds fundamentals (with CSC Rahti OpenShift OKD)

  • How to run containers in Linux

  • How to make container images with CSC Rahti?

Data Management

Encompasses a wide range of training to equip individuals with the skills and best practices needed to effectively collect, store, organize, share and utilize data. Participants learn about various data management services, tools and technologies and best practices for ensuring data integrity and potentially make their data available and usable by others:

  • How to use the CSC Allas Storage Service?

  • Key steps in data and software licensing: towards reusability

  • Webinar: Services for Research

Fundamentals

Courses covering the fundamentals of using CSC services and getting started with a topic. These courses are meant to be a starting point for efficient use of relevant CSC services:

Geoinformatics

Geoinformatics courses are meant for researchers working with spatial data, mainly with the goal to use supercomputers for spatial analysis:

High Performance Computing

Courses teaching basic and advanced topics around the use of High Performance Computing (HPC) for research. The topics range from introductory level to in-depth special trainings:

LUMI

Trainings related to LUMI, one of the world’s fastest supercomputers. Courses encompass a wide range of topics from how to use the LUMI programming environment to more domain-specific trainings such as running specific software efficiently on LUMI’s powerful GPU and CPU resources:

  • GPU programming

Programming

Trainings related to the use of a certain programming language in our computing environment, e.g. for High Performance Computing:

  • High performance R

  • GPU programming

  • Performance Optimization

  • Julia

Quantum Computing

Our courses offer a comprehensive introduction to the cutting-edge field of quantum computing, suitable for individuals from all backgrounds. Participants will learn the core concepts of quantum computing and gain practical experience in writing quantum programs using the most popular quantum programming tools. Additionally, they will have the opportunity to work with real quantum computers available in the Finnish quantum computing ecosystem(FiQCI):

  • Introduction to Quantum Computing and FiQCI

  • Quantum Computing with PennyLane on LUMI