singular cohomology of SO(4) I'm trying to compute the singular cohomology of SO(4), just as practice for using spectral sequences.  I got H0=Z, H1=0, H2=Z/2Z, H3=Z⊕Z, H4=0, H5=Z/2Z, and H6=Z.  Are these correct?  I'm not sure if I'm reading it right, but these calculations seem to disagree with this pretty cool little note on the cohomology ring of SO(n) (check out the crazy pictures at the bottom!).
Also, in the spirit of "teaching a man to fish", does anyone know of some place where people have collected all these sorts of calculations (and possibly also homology and homotopy calculations)?
Lastly, how can I determine the ring structure on H*(SO(4)) from these calculations?  Supposedly the isomorphism of whatever your usual cohomology is (de Rham, singular, whatever) with the cohomology of the double complex respects the ring structure, but is it really just as easy as saying that the product of a (p,q)-element with an (r,s)-element lives in (p+r,q+s) and is the thing you'd expect it to be?
ADDENDUM:
Since it's likely that they're incorrect, I'll lay out my process here and hopefully someone with some spare time on their hands can tell me where I went wrong.  (I apologize in advance for trying to describe the spectral sequence of a double complex without any diagrams!  I tried, but apparently tables don't work on Math Overflow just yet.)  I'm working out of Bott & Tu.  I'm using the standard fibration of SO(4) over S3 with fiber SO(3).  They have Leray's theorem (15.11, at least in my very old edition) giving that, since the base is simply-connected, E2p,q=Hp(S3,Hq(SO(3);Z)).  We know that H0(SO(3))=H3(SO(3))=Z, H2(SO(3))=Z/2Z, and Hn(SO(3))=0 otherwise.  By the universal coefficient theorem, the singular cohomology of S3 with coefficients in an abelian group G is just G in dimensions 0 and 3, and 0 elsewhere.  So I've got E2 only nonzero in columns 0 and 3, where it's Z, 0, Z/2Z, Z, 0, 0, 0...  This is in fact E∞, since the only potentially nonzero map from here on out is from the (0,2) entry to the (3,0) entry, but this has to be a homomorphism from Z/2Z to Z, which is necessarily zero.  Summing along the diagonals yields the results I gave above.
 A: Your calculation is correct. In Hatcher's description of integral cohomology mod torsion the last generator has to be interpreted as an extra generator in addition to the previous ones. 
The integral cohomology ring of the limit is in general not isomorphic to the E_{\infty} ring,
but the E_{\infty} ring is the associated graded to a filtration on the limit.
You might want to look at the Leray-Hirsch theorem which tells you about part of the cup product structure whenever the fundamental group of the base acts trivially
and there are no differentials. 
(And you can use that the induced maps H^(B)\to H^(E)\to H^*(F) in cohomology are ring isomorphisms.)
In your particular case it turns out that there is only one possibility:
the E_{\infty} and the limit are isomorphic as rings.
A: A different way to check your calculation is the following: SO(4) is homeomorphic to So(3) \times S^3 (Hatcher, page 294). Furthermore, the cross product induces an isomorphism between H^* (X \times Y) and the tensor product H^* (X) \otimes H^* (Y) if X and Y are CW-complexes and H^*(Y) is a finitely generated free in each degree (Hatcher, theorem 3.16). Taking X = SO(3) and Y = S^3, these conditions are satisfied.
The singular cohomology of SO(3) can be determined using the homeomorphism between SO(3) and RP^3: H^* (SO(3)) = H^* (RP^3). The cohomology of RP^3 is given by H^0(RP^3) = Z, H^1(RP^3) = 0 H^2(RP^3) = Z/2Z, H^3(RP^3) = Z and all other cohomology groups 0.
Taking the tensor product of this with the cohomology of S^3, we can conclude that the cohomology of SO(4) is given by H^0(SO(4))=Z, H^1(SO(4))=0, H^2(SO(4))=Z/2Z, H^3(SO(4))=Z\oplusZ, H^4(SO(4))=0, H^5(SO(4))=Z/2Z, H^6=Z and all other cohomology groups 0.
A: You missed H^1(SO(3))=Z/2Z.  And a quick glance as your groups tells you that your calculations are wrong, as SO(n) is not simply connected for n>=2.  Throw in that last set of Z/2Z's, and see if you get the right answer.
