µGP is an Evolutionary Algorithm (EA). If you are reading this document, you are probably already familiar with EAs.
EAs are stochastic optimization techniques: basically they are algorithms that try to find the optimal solution for a given problem, using only a description of a typical solution (e.g. a string of numbers, a series of strings, an assembly program) and a method to evaluate the solutions. "Evaluating a solution" means assigning a numeric value to it, that is higher the better the solution is with regards to the given problem.
Following this idea, µGP can be seen as divided into several parts:
The evolutionary core is where the evolution takes place. The constraints define the structure of an individual. The population is the current group of candidate solutions managed by evolutionary core. The external evaluator is a program (to be provided by the user) that takes an individual in input and returns to the evolutionary core a numeric value (called fitness) in a file, by default named fitness.output.