The SCF and partners have prepared a number of online self-study tutorials. Anyone is welcome to use the materials, including as part of a class.
Most of the tutorials come as websites hosted on GitHub Pages with the content living in a GitHub repository. For some of the older tutorials that have not been updated recently, there is only a GitHub repository.
The basics of UNIX and the command line
A basic introduction to the UNIX command line (including Linux and the Mac terminal).
Using the bash shell
In-depth coverage of UNIX utilities, shortcuts, shell scripting, job control, and regular expressions.
Parallel processing in Python, R, Julia, MATLAB, and C/C++, including GPU use
In-depth coverage of basic parallel processing on one or more machines (including use with the Slurm scheduler).
Flexible parallelization using Dask in Python and future in R
An overview of two of the most general and popular frameworks for parallelization, including using distributed datasets in Dask.
Working with large datasets in SQL, R, and Python
Using databases and Google BigQuery from R and Python, plus material on packages in R and Python for working with large datasets.
Dynamic documents with code chunks
A quick introduction to embedding R, bash, Python, and Julia code in PDF and HTML documents using Quarto, R Markdown, LaTeX based (knitr and Sweave) formats, and Jupyter notebooks.
String processing
An overview of string processing, including regular expressions, in R and Python.
Writing efficient R code
How to assess the speed of your code and write code that will run quickly in R.
Debugging in R
How to use R’s debugging tools, handle errors, and avoid bugs, with an accompanying YouTube demo of debugging in R.
Introduction to LaTeX (deprecated)
A quick introduction to LaTeX, focusing on a demonstration with a concrete example and an accompanying YouTube demo on LaTeX/LyX.
Introduction to Git and GitHub (deprecated)
The basics of git, a version control system, and hosting git repositories on GitHub.
Using make for workflows (deprecated)
How to use make to automate workflows and make them reproducible, with an accompanying YouTube demo on make.