Recently I've got a homework of Decoding Theory. But I can barely understand what my professor means about this assignment. Is it something about finite fields? Can somebody explain it for me? And how do I write a program on GAP? (I have never used it before.) :Write a GAP program and compute the following:

Take p = 2, 3, 5
Take a primitive element z of GF(p^4)

1. Make the list L of ordered pairs [i,j], i=1..p^m-1, so that z^i + 1 = z^j.

2. Make the list M1 of ordered pairs [i, f_i], i=1..p^m-1, so that f_i is the minimal polynomial of z^i over GF(p).

3. Make the list M2 of ordered pairs [i, g_i], i=1..p^m-1, so that g_i is the minimal polynomial of z^i over GF(p^2).
Do it on a computer.