The objective of Evolutionary Computation is to solve practical problems (e.g.optimization, data mining) by simulating the mechanisms of natural evolution. This thesis addresses several topics related to adaptation and self-organization in evolving systems with the overall aims of improving the performance of Evolutionary Algorithms (EA), understanding its relation to natural evolution, and incorporating new mechanisms for mimicking complex biological systems.Part I of this thesis presents a new mechanism for allowing an EA to adapt its behavior in response to changes in the environment. Using the new approach, adaptation of EA behavior (i.e. control of EA design parameters) is driven by an analysis of population dynamics, as opposed to the...