Can the cohomology ring of the two-fold torus be calculated abstractly? In our lectures, we are given an unusual definition of cohomology and cup products which makes explicit calculations a bit tedious (that is, even more tedious than usual).
For the $n$- and $m$-spheres $S^n$ and $S^m$, I know that there’s an isomorphism of rings
$$H^•(S^n×S^m) \overset \simeq \longrightarrow H^•(S^n) \otimes H^•(S^m).$$
Can I use merely this fact, and other basic facts about cohomology like the Mayer–Vietoris sequence, Poincaré duality and the functoriality of cohomology to actually calculate the cohomology of the two-fold torus? What other  facts would I need?

I think Qiaochu Yuan's post (https://qchu.wordpress.com/2013/10/12/the-cohomology-of-the-n-torus/) is quite relevant. In particular the first part gives a derivation of the cohomology (group) of the $n$-torus using Mayer–Vietoris . Of course you need more tools to compute the ring structure, but I think Qiaochu did a quite good job at elaborating it as well. So I feel an answer by me might be simply duplicating some parts of what he did. Of course you can use Poincare duality, but the computation of the homology groups takes some effort if you just use Mayer–Vietoris or long exact sequence.  
