This article reviews the use of single electron spins to compute. In classical computing schemes, a binary bit is represented by the bistable spin polarization of a single electron confined in a quantum dot and subjected to a weak magnetic field. The spin orientation can be either parallel or antiparallel to the field, so that it becomes a binary variable which can encode logic 0 and logic 1. Coherent superposition of these two polarizations can represent a qubit for quantum computing. By engineering the exchange interaction between closely spaced spins in neighboring quantum dots, it is possible to implement either classical or quantum logic gates. (C) 2004 Elsevier Ltd. All rights reserved.