Computational Intelligence and Software Engineering

Module code: CO3091

Module co-ordinator: Leandro Minku

Computational intelligence is a field of artificial intelligence concerned with so-called heuristic algorithms, which aim to produce good solutions to problems in a reasonable amount of time. These algorithms are widely used for real world applications such as routing problems, assignment and scheduling problems, (bio)medical and bioinformatics problems and forecasting problems.

More recently, they have also been used to help solve software engineering problems. In particular, due to the increased size and complexity of software systems, software engineering tasks such as software project planning, software testing and maintenance have become increasingly time consuming and error prone.  Computational intelligence techniques can be used as decision support tools in order to produce higher quality software faster, helping to overcome the challenges posed by large and complex software systems.

In this module you will study computational intelligence approaches that can be used for solving problems from several different domains. We will also explore the synergies between computational intelligence and software engineering, looking at how computational intelligence approaches can be used to help solving software engineering problems.


  • 29 hours of lectures
  • 6 hours of surgeries
  • 5 hours of labs
  • 5 hours of problem classes


  • Coursework (40%)
  • Exam (60%)