I thought the seminar on tuesday would possibly benefit from something not very often seen - explicit examples. So I started working through one. I wanted to calculate [tex]H^*(C_8,\mathbb F_2)[/tex] and give explicitly in a series of ways the product structure - as Yoneda splices, as chain map compositions and as cup products.
Now, [tex]\mathbb F_2[/tex] has a very nice resolution as a [tex]\mathbb F_2C_8[/tex]-module - all cyclic (finite) groups have canonically a really cute minimal resolution - given by
[tex]\to \mathbb F_2C_8\to\mathbb F_2C_8\to\mathbb F_2C_8\to\mathbb F_2\to 0[/tex]
with the last map taking [tex]\epsilon\colon a_0+a_1g+a_2g^2+\dots+a_7g^7\mapsto a_0+a_1+\dots+a_7[/tex] and the other maps alternatingly being multiplication with [tex]\partial_1\colon 1+g+g^2+\dots+g^7[/tex] and with [tex]\partial_0\colon g-1[/tex].
So this gives as a nice projective (in fact: free) resolution to work with. We now can observe that [tex]\Hom_{\mathbb F_2C_8}(\mathbb F_2C_8,\mathbb F_2)=\Hom_{\mathbb F_2C_8}(\mathbb F_2,\mathbb F_2)=\mathbb F_2[/tex] since any map has to respect the group action, which is trivial on [tex]\mathbb F_2[/tex], and so any map is determined by its value on 1. Thus we get the sequence of dual modules
[tex]0\to\mathbb F_2\to\mathbb F_2\to\mathbb F_2\to\dots[/tex]
with the codifferentials given by the identity in the first step, since if [tex]f:\mathbb F_2\to\mathbb F_2[/tex], then [tex]\epsilon^*f(1)=f\epsilon(1)=f(1)[/tex] and zero everywhere else, since [tex]\partial_0^*f(1)=f\partial_0(1)=f(g-1)=gf(1)-f(1)=f(1)-f(1)=0[/tex] and [tex]\partial_1^*f(1)=f\partial_1(1)=f(1+g+\dots+g^7)=8f(1)[/tex] since [tex]C_8[/tex] acts trivially on [tex]\mathbb F_2[/tex].
So we have that [tex]H^0=\ker\mathbb 1=0[/tex] and [tex]H^n=\ker 0/\operator{im} 0=k[/tex] for all other n.
Now for the product structure. We have [tex]H^*=\bigoplus_{i\geq 1} \mathbb F_2C_8x_i[/tex] as a module; now we need to define the product of two cochains. It is enough to look at what happens on the generators; thus taking [tex]x_ix_j[/tex]. Using the cochain map model, we need to lift the map that takes [tex]g^i\mapsto 1[/tex] to a chain map, run it i-j steps up and then compose it with the map that takes 1 to 1.
There are precisely two possible cochains we could want to lift - either the 0-map, or the augmentation map [tex]\epsilon[/tex]. Furthermore, there are precisely two different cases for these maps - either i is odd or i is even. For the 0-map, it doesn't matter what i is; the lift is the 0-map. For the augmentation map, we actually get different results.
Thus for our basis map products [tex]x_ix_j[/tex] we get that if either [tex]x_i[/tex] or [tex]x_j[/tex] are the 0-cochain, then the product is 0 (no surprise there!) and if both are even, then [tex]x_ix_j=x_{i+j}[/tex]. If [tex]x_i[/tex] is odd, then we compose the relevant cochain for [tex]x_j[/tex] with the chain map in the second expose above - so we have two different cases to distinguish. If [tex]x_j[/tex] has odd degree, then the product is the representative of the map [tex]m\mapsto\epsilon((1+g^2+g^4+g^6)m)=4\epsilon(m)=0\pmod 2[/tex]. If, however, [tex]x_j[/tex] has even degree, then we get the augmentation map; and thus [tex]x_ix_j=x_{i+j}[/tex].
Thus the product structure on [tex]H^*(C_8,\mathbb F_2)[/tex] annihilates products of odd degree elements, and in all other cases sends [tex]x_ix_j=x_{i+j}[/tex].
This proves that [tex]H^*(C_8,\mathbb F_2)=\mathbb F_2[x^2,\xi]/\langle \xi^2\rangle[/tex], which is exactly what Carlsen et.al. give.