We introduce the notion of an algebraic cocycle as the algebraic analogue of a map to an Eilenberg-MacLane space. Using these cocycles we develop a ``cohomology theory" for complex algebraic varieties. The theory is bigraded, functorial, and admits Gysin maps. It carries a natural cup product and a pairing to $L$-homology. Chern classes of algebraic bundles are defined in the theory. There is a natural transformation to (singular) integral cohomology theory that preserves cup products. Computations in special cases are carried out. On a smooth variety it is proved that there are algebraic cocycles in each algebraic rational $(p,p)$-cohomology class.