Designing short DNA words is a problem of constructing a set (i.e., code) of n DNA strings (i.e., words) with the minimum length such that the Hamming distance between each pair of words is at least k and the n words satisfy a set of additional constraints. This problem has applications in, e.g., DNA self-assembly and DNA arrays. This project provides an efficient Python implementation of a deterministic polynomial-time algorithm for DNA Word Design described in "Deterministic Polynomial-time Algorithms fro Designing Short DNA Words" by Kao et al.