The descriptions are for modules currently being taught. They should be viewed as an example of the modules we provide. All modules are subject to change for later academic years.

Evolutionary Computation (EVCO) 2016/7

Workload - Private Study - Assessment - Description - Aims - Learning Outcomes - Content - Teaching Materials - Recommended Books

Module Code COM00071M
Lecturers Daniel Franks
Taken By ACS, MEng CS 4, MEng CS/Phil 4, MEng CSAI 4, MEng CSBES 4, MEng CSESE 4, MEng CSSE 4, MEng CSYS 4, MMath 4
Number of Credits 10
Teaching Autumn 2-5
Open Assessment Open Assessment [100%]
26th Oct → 25th Jan
Feedback: 22nd Feb

Module Prerequisites

Prerequisite knowledge

Knowledge of Python would be an aid to students, as the workshops will make use of it.


  • Lectures: 16 x 1hr
  • Practicals: 4 x 2hrs
  • Private Study: 1hr
  • Assessment: 40 x 1hr


Open Assessment


This module provides a foundation of theoretical and practical knowledge in the subject of evolutionary systems; that is, systems that embody algorithms inspired by natural evolutionary systems (e.g. genetic algorithms, genetic programming, evolutionary strategies, and co-evolutionary frameworks) to evolve solutions to problems.

Learning Outcomes

Synthesis: Students will learn how to use biological knowledge to inspire the development of natural computation approaches.

Application: the practical sessions will prepare students for designing and coding their own system. During the assessment they will develop their own system to address a complex problem.

Analysis & Evaluation: Students will be expected to evaluate and develop the performance of their system, and critically and correctly evaluate their implementation.

Familiarity with the range of evolutionary algorithms in existence, and their biological underpinnings.

Understanding of the underlying principles, their performance and behaviour, and the various computational applications, of the various algorithms.

Understanding of how to set about applying evolutionary computation approaches to problems in an informed manner.


The following topics will be covered in this module:

  • Biological evolution
  • Search spaces, fitness landscapes, fitness functions
  • Encodings and representations
  • Genetic Algorithms: crossover, mutation, selection
  • Genetic Programming
  • Convergence, Co-evolution, niching
  • Multi-objective EAs
  • Applications

Recommended Books

Rating Author Title Publisher Year
++ Banzhaf et al Genetic Programming: An Introduction Morgan Kaufmann 1999
++ Eiben & Smith Introduction to Evolutionary Computing Springer 2003
++ M. Mitchell An Introduction to Genetic Algorithms MIT Press 1998
+ D. Goldberg Genetic Algorithms in Search, Optimisation & Machine Learning
Back to top

Last updated: 23rd June 2016