Source: https://moodle.epfl.ch/pluginfile.php/2303906/mod_resource/content/3/howto-algorithmes.pdf