Constant dimension codes are subsets of the finite Grassmann variety. The subspace distance is a natural metric on the Grassmannian. It is desirable to have constructions of codes with large cardinality and efficient decoding algorithm for all parameters. This article provides a survey on constructions of constant dimension codes with a prescribed minimum distance. The article starts with a review of geometric properties of the Grassmann variety. We emphasize the classical Plücker embedding which shows that the Grassmannian describing all k-dimensional subspaces of a vector space can be naturally embedded in a projective space and hence has the structure of a projective variety itself. On the construction side we first concentrate on the construction of equidistant codes, which include spreads and partial spreads. Then we review constructions based on matrix codes equipped with the rank metric, in particular those matrices whose non-zero entries constitute certain Ferrers diagrams. A large part of the survey is then concerned with orbit codes, i.e., subsets of the Grassmannian that can be expressed as the orbit under an action of an algebraic group. Finally we review several constructions of constant dimension codes starting with another constant dimension code having good parameters. We conclude by giving references to other results related to constant dimension codes and references to results on constructions of mixed dimension codes.