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**/2**Z**, H3=**Z**⊕**Z**, H4=0, H5=**Z**/2**Z**, and H6=**Z**. Are these correct? I'm not sure if I'm reading it right, but these calculations seem to disagree with [this](http://www.math.cornell.edu/~hatcher/SO/SO(n).pdf) 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**/2**Z**, 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**/2**Z**, **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**/2**Z** to **Z**, which is necessarily zero. Summing along the diagonals yields the results I gave above.



singular cohomology of SO(4)
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.


