This module focuses on two Computational Intelligence paradigms, namely Evolutionary Computation and Swarm Intelligence. Within the Evolutionary Computation paradigm, algorithmic models of Darwinian evolution will be studied, including genetic algorithms, genetic programming, evolutionary strategies, evolutionary programming, differential evolution, cultural algorithms and co-evolution. Within the Swarm Intelligence paradigm algorithm models of social organisms found in nature will be studied, including ant algorithms and particle swarm optimisation. These algorithms will mostly be studied in the context of complex optimisation problems, including multi-objective optimisation, dynamic environments, constraints, and finding multiple solutions. Prior knowledge assumed include good programming skills and an undergraduate module in calculus.
This module discusses software architecture, including the representation of designs, definitions, styles and patterns of architecture.