Finite fields

Homework Statement

Construct a finite field of order 16. And find a primative element.

The Attempt at a Solution

What I did was find an irreducible polynomial in Z/<2> of degree 4. I used f(x)=x^4+x+1.
Then I took a to be a root of f(x) and set a^4=a+1. Then to make the field I just took powers of a. a is clearly a primitive element.
This seems too easy. Does this indeed produce the field? And does this exact method work for constructing any finite field? And if so doesn't it always give us a primitive element right away?

However, finding the primitive element is in general much harder. If P(X) is an irreducible polynomial, and if you're working in the field $$\mathbb{F}_p[X]/(P(X))$$, then it is not always the case that X is the primitive element. In fact, finding the primitive element of a finite field is quite a difficult programming problem nowadays, certainly for big fields...
For example $$\mathbb{F}_3[X]/(X^2+1)$$ is a field of 9 elements. But the generator is X+1, rather then X...