This paper proposes a new approach to cooperative diversity based on the algebraic superposition of channel codes over a finite field. The scenario under consideration is one in which two "partners" - Node A and Node B - cooperate in transmitting information to a single destination; each partner transmits both locally-generated information and relayed information that originated at the other partner. A key observation is that Node B already knows Node A's relayed information (previously sent from Node B) and can exploit that knowledge when decoding Node A's local information. This leads to an encoding scheme in which each partner transmits the algebraic superposition of its local and relayed information, and the superimposed codeword is interpreted differently at the two receivers - i.e., at the other partner and at the destination node - based on their different a priori knowledge. It is shown via simulation that the proposed scheme provides substantial coding gain over other cooperative diversity techniques, including those based on time sharing and signal (Euclidean space) superposition.