We develop a tree-based genetic programming system, capable of modelling evolvability during evolution through artificial neural networks (ANN) and exploiting those networks to increase the generational fitness of the system. This thesis is empirically focused; we study the effects of evolvability selection under varying conditions to demonstrate the effectiveness of evolvability selection. Evolvability is the capacity of an individual to improve its future fitness. In genetic programming (GP), we typically measure how well a program performs a given task at its current capacity only. We improve upon GP by directly selecting for evolvability. We construct a system, Sample-Evolvability Genetic Programming (SEGP), that estimates the true I thank ACENET for material support. Experiments were conducted on hardware provided by ACENET, in partnership with Compute Canada, a high performance computing (HPC) consortium for universities based in the Atlantic Provinces of Canada. ACENET is funded by the Atlantic Provinces Opportunities Agency, the