Research Computing Skills
Good Enough Practices in Scientific Computing (Wilson et al, 2017) recommends specific practices to improve research projects, workflows, and collaborations, including:
- Data Management
- Software Development
Data Management:
Software Development:
Lessons linked in this section are hosted by KU Libraries or The Carpentries.
Wilson, G., Bryan, J., Cranston, K., Kitzes, J., Nederbragt, L., & Teal, T. K. (2017). Good enough practices in scientific computing. PLOS Computational Biology, 13(6), e1005510. https://doi.org/10.1371/journal.pcbi.1005510
Good Enough Practices in Scientific Computing (Wilson et al, 2017) recommends specific practices to improve research projects, workflows, and collaborations, including:
- Data Management
- Software Development
Data Management:
Software Development:
Lessons linked in this section are hosted by KU Libraries or The Carpentries.
Wilson, G., Bryan, J., Cranston, K., Kitzes, J., Nederbragt, L., & Teal, T. K. (2017). Good enough practices in scientific computing. PLOS Computational Biology, 13(6), e1005510. https://doi.org/10.1371/journal.pcbi.1005510
- Introduction to high performance computing concepts
- Unix/Linux-style command line interface, also called the Shell
- Automated version control system, such as Git
- Programming language:
- Interpreted language, such as Python or R
- Compiled language, such as C/C++ or Fortran
HPC concepts:
Unix/Linux-style command line interface, also called the Shell:
- Introduction to the Unix Shell
- Introduction to Using the Shell in a High-Performance Computing Context
- Introduction to Linux
Automated version control system:
Programming Languages:
Lesson materials linked in this section are hosted by The Carpentries or the Cornell University Center for Advanced Computing.
- Introduction to high performance computing concepts
- Unix/Linux-style command line interface, also called the Shell
- Automated version control system, such as Git
- Programming language:
- Interpreted language, such as Python or R
- Compiled language, such as C/C++ or Fortran
HPC concepts:
Unix/Linux-style command line interface, also called the Shell:
- Introduction to the Unix Shell
- Introduction to Using the Shell in a High-Performance Computing Context
- Introduction to Linux
Automated version control system:
Programming Languages:
Lesson materials linked in this section are hosted by The Carpentries or the Cornell University Center for Advanced Computing.
- Programming for advanced computing
- Schedulers
- Containers
- Container orchestration
Parallel programming:
Advanced computing with Python:
- Introduction to High-Performance Computing in Python
- Python for High Performance
- Parallel Programming in Python
GPUs:
Schedulers:
- Getting Started on Frontera (contains an introduction to Slurm)
- Advanced Slurm
Containers:
- Introduction to Podman or Docker
- Containers (Apptainer)
Orchestration:
Lesson materials linked in this section are hosted by The Carpentries or the Cornell University Center for Advanced Computing.
- Programming for advanced computing
- Schedulers
- Containers
- Container orchestration
Parallel programming:
Advanced computing with Python:
- Introduction to High-Performance Computing in Python
- Python for High Performance
- Parallel Programming in Python
GPUs:
Schedulers:
- Getting Started on Frontera (contains an introduction to Slurm)
- Advanced Slurm
Containers:
- Introduction to Podman or Docker
- Containers (Apptainer)
Orchestration:
Lesson materials linked in this section are hosted by The Carpentries or the Cornell University Center for Advanced Computing.