Skip to content

Training Levels

Richard Darst edited this page Dec 14, 2017 · 15 revisions

This page lists a structured training program for computational scientists. The goals are:

  • Gamify learning. Provide some psycological rewards.
  • Make it clear what courses are at what level, and what levels are useful for each person. There should be less of "I might go to this, but it's too advanced and irrevevant for me"
  • Provide more tangible benefits for education (e.g. group leader sees value in reaching a level)

There are four core levels providing core skills which almost everyone should know (A-D, come up with better names). Then, there are "electives" which are at each level, which each person can need. Each level provides core requirements, and electives (short things, good things to know) and tracks (longer courses in a topic).

Class A (basic local resources, 1 hour only)

  • Example from Aalto:
    • Aalto managed computer basics. Installing own packages
    • Data storage locations and policies. Basic data management.
    • Remote access, remote data access
    • How to get support, where, etc.

Class B (using Linux somewhat well, ~1 day)

  • Files, dirs, permissions, filesystems,
  • Shell use (shells, tab completion, paths, programs, environment, etc)
  • Shell scripting
  • Makefiles
  • Version control
  • ssh, remote access

Electives:

  • Jupyter notebooks

SW dev track:

  • Modular code development
  • SW testing
  • Python, R, Matlab, etc.

Other tracks here: Python track, R track, Matlab track, etc.

Class C (using HPC for research, ~1 day)

This is basically Science-IT summer kickstart

  • Slurm
  • Modules and software
  • Storage
  • Parallel computing

Electives:

  • Deep learning software frameworks, special frameworks

Class D (advanced HPC use and development, assorted specialized courses)

Consists of only electives.

  • GPU computing
  • parallel programming

Clone this wiki locally