In this paper, we consider the problem of designing codewords for DNA storage systems and DNA computers that are unlikely to fold back onto themselves to form undesirable secondary structures. Secondary structure formation causes a DNA codeword to become less active chemically, thus rendering it useless for the purpose of DNA computing. It also defeats the read-back mechanism in a DNA storage system, so that information stored in such a folded DNA codeword cannot be retrieved. Based on some simple properties of a dynamic-programming algorithm, known as Nussinov's method, which is an effective predictor of secondary structure given the sequence of bases in a DNA codeword, we identify some design criteria that reduce the possibility of secondary structure formation in a codeword. These design criteria can be formulated in terms of the requirement that the Watson-Crick distance between a DNA codeword and a number of its shifts be larger than a given threshold. This paper addresses both the issue of enumerating DNA sequences with such properties and the problem of practical DNA code construction.