Tutorials

The following is a list of online self-study tutorials prepared by the SCF and partners. Note that a zip file with all the (non-screencast) materials for each tutorial can be found by following the (materials on Github) link and using the "Download ZIP" button in the lower right of the Github page.

  • Basics of UNIX (materials on Github) (screencast)
    Provides a basic introduction to the UNIX command line (including Linux and the Mac terminal) using the BCE virtual Linux machine
    Last updated August 2015. Prepared by Chris Paciorek.

  • Introduction to LaTeX (materials on Github) (screencast)
    A quick introduction to LaTeX, a powerful and flexible system for formatting documents, especially those using mathematical notation. Focuses on demonstration using a concrete example.
    Last updated August 2015. Prepared by Chris Paciorek.

  • Dynamic documents with code chunks (materials on Github)
    A quick introduction to embedding R, bash, and Python code in PDF and HTML documents using R Markdown, LaTeX based (knitr and Sweave) formats, and Jupyter notebooks.
    Last updated February 2017. Prepared by Chris Paciorek.

  • Introduction to git and Github (materials on Github)
    The basics of git, a version control system, and hosting git repositories on Github.
    Last updated August 2015. Prepared by Jarrod Millman

  • Using the bash shell (materials on Github)
    UNIX utilities, shortcuts, shell scripting, job control, and regular expressions.
    Last updated August 2015. Prepared by Jarrod Millman and Chris Paciorek.

  • String processing (materials on Github)
    String processing, including regular expressions, in R and Python.
    Last updated August 2015. Prepared by Chris Paciorek.

  • Working with large datasets in SQL, R, and Python (materials on Github)
    String processing, including regular expressions, in R and Python.
    Last updated July 2017. Prepared by Chris Paciorek.

  • Using make for workflows (materials on Github) (screencast)
    How to use make to automate workflows and make them reproducible.
    Last updated August 2015. Prepared by Chris Paciorek.

  • Writing efficient R code (materials on Github)
    How to assess the speed of your code and write code that will run quickly in R.
    Last updated September 2015. Prepared by Chris Paciorek.

  • Debugging in R (materials on Github) (screencast)
    How to use R's debugging tools, handle errors, and avoid bugs.
    Last updated September 2015. Prepared by Chris Paciorek.

  • Parallel processing basics in R, Python, Matlab, and C (materials on Github)
    How to use threaded linear algebra and basic parallel looping on a single computer with multiple cores.
    Last updated November 2016. Prepared by Chris Paciorek.

  • Distributed parallel processing in R, Python, Matlab, and C (materials on Github)
    How to use parallelization tools for distributed computing (multiple computers or cluster nodes) in R, Python, Matlab, and C.
    Last updated November 2016. Prepared by Chris Paciorek.

Last updated February 2017.