External resources for learning

About this list

Below is a compendium of non-PICSciE resources, grouped by topic, that may be useful for self-study.  The list includes a mix of books, videos, web pages, and online tutorials.  Some are extremely introductory, while others are more advanced.  But none is a "silver bullet" --- as with any academic subject, computing knowledge is best learned by consulting a variety of references and repeated exposure over time.

This list may be revisited periodically, but we will inevitably miss useful references. Therefore, if you have found a resource not listed here that has helped you in learning a certain topic, please use our "suggestion box" to let us know.  We'll review it for potential inclusion in our list..

LinkedIn Learning

Some of the resources below are videos from LinkedIn Learning.  Typically, these are paywalled, but people with an active Princeton NetID can access them for free  by signing in at linkedinlearning.princeton.edu (VPN not required).

O'Reilly Books Online

Users with an active Princeton NetID also have free access to the online version of O'Reilly's extensive library of books on technical topics(formerly known as Safari Tech Books) via the Princeton University Library.  Any O'Reilly resources are also noted as such.

 

Links to resource lists by topic

 

Using the Research Computing Clusters

The Linux Command Line

The SLURM Scheduler

Data Transfer

 

Parallel Programming

Overview of HPC & Parallel Programming

Hardware Essentials & Vectorization

OpenMP

MPI

 

 

Programming Languages and Software Engineering

MATLAB

Fortran

C/C++

R

Version control with Git and Github