The idea of computing with DNA was given by Tom Head in 1987, however in 1994 in a seminal paper, the actual successful experiment for DNA computing was performed by Adleman. The heart of the DNA computing is the DNA hybridization, however, it is also the source of errors. Thus the success of the DNA computing depends on the error control techniques. The classical coding theory techniques have provided foundation for the current information and communication technology (ICT). Thus it is natural to expect that coding theory will be the foundational subject for the DNA computing paradigm. For the successful experiments with DNA computing usually we design DNA strings which are sufficiently dissimilar. This leads to the construction of a large set of DNA strings which satisfy certain combinatorial and thermodynamic constraints. Over the last 16 years, many approaches such as combinatorial, algebraic, computational have been used to construct such DNA strings. In this work, we survey this interesting area of DNA coding theory by providing key ideas of the area and current known results.