Publisher Summary This chapter introduces genotypic expressions and shows how to generate random term structures. These structures serve as initial populations for program evolutions from a set of problem-specific functions. It discusses a genetic programming (GP) recombination operator as the analog to the crossover used in genetic algorithms. Variations on the program encoding genomes are generated by recombinations and mutations. The major difference between genetic algorithms and genetic programming is that program structures are not encoded as linear genomes, but as terms or simple symbolic expressions. Using tree-structured chromosomes also implies a reinterpretation of recombining and mutating genetic operators. Terms and functional expressions provide an almost universal form for representing hierarchical structures. The central GP operator for generating new term structures is a modified variant of one-point crossover used in genetic algorithms. Substrings are exchanged by crossing two linear genetic algorithm chromosomes. In genetic algorithms, (point) mutation replaces an allele with a new value from the allele alphabet. The mutative structures of genetic programming, however, are not just single bits or alleles, but subtrees of program genomes.