Randomized benchmarking techniques have been an essential tool for assessing the performance of contemporary quantum devices. The goal of this tutorial is to provide a pedagogical, self-contained, introduction to randomized benchmarking. With this intention, every chapter is also supplemented with an accompanying Python notebook, illustrating the essential steps of each protocol. In addition, we also introduce more recent trends in the field that bridge shadow tomography with randomized benchmarking, namely through the gate-set shadow protocol.