This document discusses automation and its potential impacts, including a universal basic income. It then covers topics in soft computing like fuzzy logic, machine learning, and evolutionary computation techniques. Specifically, it explores evolutionary algorithms such as genetic algorithms and genetic programming. It describes how genetic programming works, including the function and terminal sets, mutation, crossover, and fitness functions used to evolve programs. Finally, it discusses applications of genetic programming and provides additional resources.