Source: https://doc.sagemath.org/pdf/en/prep/prep_tutorials.pdf