The problem of reverse engineering has many applications from data signaling to biochemical networks for which only partial information is known. While there are many reverse engineering algorithms, most lack a strong theoretical framework. In this poster we will present an algorithm that can predict the network structure of a dynamical system entirely from data using algebraic tools. The algorithm relies on mathematical tools from algebraic geometry; more precisely, on the irreducible components of an algebraic set and the primary decomposition of an ideal. We applied our algorithm to reverse engineer models of biological systems such as the lac operon. With a small data set our algorithm was able to reconstruct the original network structure. In summary, our reverse engineering algorithm is able to recover the network structure of dynamical systems from small data sets. An important feature of our algorithm is that it uses algebraic geometry which has the potential to provide the reverse engineering problem with a strong theoretical framework where results could be proven mathematically.