— Methods for reliable synthesis of long genes offer great promise for protein synthesis via expression of synthetic genes, with applications to improved analysis of protein structure and function, as well as engineering of novel proteins. Current technologies for gene synthesis use computational methods for design of short oligos, which can then be reliably synthesized and assembled into the desired target gene. For collision-oblivious oligo design – when mishybridizations between oligos are ignored – we give a simple and efficient dynamic programming algorithm. We conjecture that the collision-aware oligo design problem is NP-hard and provide evidence that mishybridizations between oligos occur infrequently in the designs from the collisionoblivious algorithm. We extend our dynamic programing algorithm to achieve collision-aware oligo design, when the target gene can be partitioned into independently-assembled short segments. We evaluate our methods on a large biological gene ...