The genetic programming process searches over a fitness landscape. The shape of this landscape is determined by the task to be solved and the representation in which the population members are expressed. The movement through this space is determined by the operators that act to recombine the population members. These factors make it imperative that our search for increased power and understanding in genetic programming include the study and improvement of representations and operators. This chapter describes a process for learning SMART recombination programs in a co-evolutionary process and a new representation for the evolution of algorithms. How these SMART operator programs are created, how they act, how they co-evolve with a main population of programs, and experimental results on their use are the subjects of this chapter.