Finite Fields by Dirk Hachenberger