Surrey University Stag


Module code: COM3013

Module Overview

This module gives an introductory yet up-to-date description of the fundamental technologies of computational Intelligence, including evolutionary computation, neural computing and their applications. Main streams of evolutionary algorithms and meta-heuristics, including genetic algorithms, evolution strategies, genetic programming, particle swarm optimization will be taught. Basic neural network models and learning algorithms will be introduced. Interactions between evolution and learning, real-world applications to optimization and robotics, and recent advances will also be discussed.

Module provider

Computer Science

Module Leader

GUERIN Frank (Elec Elec En)

Number of Credits: 15

ECTS Credits: 7.5

Framework: FHEQ Level 6

JACs code: I400

Module cap (Maximum number of students): N/A

Overall student workload

Independent Learning Hours: 106

Laboratory Hours: 22

Captured Content: 22

Module Availability

Semester 1

Prerequisites / Co-requisites

Good skill in Python programming, good knowledge in mathematics (calculus)

Module content

Lesson 1: Introduction

  • Natural intelligence

  • Computational intelligence

  • Understanding nature and solving engineering problems

  • Professional organizations, major journals and conferences


Lesson 2: Evolutionary Algorithms

  • A generic framework

  • Genetic representations

  • Genetic variations

  • Selection schemes


Lesson 3:  Genetic Programming and Swarm Intelligence

  • Genetic Programming

  • Swarm intelligence in nature

  • Particle swarm optimization

  • Adaptive PSO

  • Swarm Intelligence via Social Learning

  • Evolution Strategies


Lesson 4: Multi-Objective Evolutionary Algorithms

  • Dynamic weighted aggregation

  • Dominance-based selection

  • Elitist non-dominated sorting genetic algorithms

  • Performance measures


Lesson 5: Evolutionary Multi-Objective Optimization

  • Evolutionary Multi-Objective Optimization – Many-Objectives

  • Application Examples


Lesson 6: Neural Network Models

  • Perceptron

  • Multi-layer perceptrons

  • Backpropagation

  • Deep Learning


Lesson 7: Learning Algorithms and Issues

  • Model Selection

  • Cross Validation

  • Regularisation

  • Ensemble Learning

  • Bootstrapping

  • Memetic Algorithms


Lesson 8: Automated Machine Learning and Transfer Learning

  • Automated Machine Learning

  • Evolutionary optimization of neural networks

  • Knowledge extraction from neural networks

  • Transfer Learning


Lesson 9: Unsupervised and Reinforcement Learning

  • Hebbian Learning

  • Self Organising Maps

  • Reinforcement Learning


Lesson 10: Fuzzy Systems and Hybrid Systems

  • Fuzzy sets and systems

  • Neuro fuzzy systems

  • Genetic fuzzy systems


Lesson 11: Surrogate-Assisted Evolutionary Optimization

  • Evolutionary computation for expensive problems

  • Basic model management

  • Advanced model management

  • Evolutionary optimization of aerodynamic structures

Assessment pattern

Assessment type Unit of assessment Weighting

Alternative Assessment


Assessment Strategy

The assessment strategy is designed to provide students with the opportunity to demonstrate not only their ability to learn new knowledge, but also the ability to reuse the learned knowledge. This will be done in a step by step approach by training students for solving small, simple problems in terms of  assignments, and then two pieces of major coursework that require programming skills and ability to solve new problems.  

Thus, the summative assessment for this module consists of:

·     A number of assignments will be given to the students for practice in each lecture. Minor programming tasks for using a Python library will also be assigned to students for the lab session.

·     Two courseworks will be released to students at least 4 weeks before the submission deadline. The feedback on the coursework will be given to the students within three weeks after the submission deadline.

Module aims

  • The module aims to demonstrate how computing techniques can be used to understanding natural intelligence, such as evolution, learning and development. Meanwhile, the module intends to show how knowledge gained from understanding natural intelligence be effectively used for solving engineering problems. Finally, this module should arouse students' interest in researching into nature-inspired computing techniques for understanding nature and problem solving. This module also aims to train the students for doing independent research, such as doing literature search, making a research proposal and presenting research results.

Learning outcomes

Attributes Developed
1 Understand the main principles of computational intelligence C
2 Gain hands-on knowledge and experience on designing evolutionary algorithms and neural network based learning algorithms for problem solving K
3 Perform in-depth research on topics related to computational intelligence PT

Attributes Developed

C - Cognitive/analytical

K - Subject knowledge

T - Transferable skills

P - Professional/Practical skills

Methods of Teaching / Learning

The learning and teaching strategy is designed to train students the ability to independently learn knowledge and solve problems by reusing learning knowledge. The module involves many real-world problems from industry on optimisation and prediction. 


The learning and teaching methods include:

The delivery pattern will consist of:

  • 2-hour lectures (week 1-11)

  • 2-hour lab, including coursework and assignments (week 2-11)

  • 2-hour review (week 12)

Indicated Lecture Hours (which may also include seminars, tutorials, workshops and other contact time) are approximate and may include in-class tests where one or more of these are an assessment on the module. In-class tests are scheduled/organised separately to taught content and will be published on to student personal timetables, where they apply to taken modules, as soon as they are finalised by central administration. This will usually be after the initial publication of the teaching timetable for the relevant semester.

Reading list
Upon accessing the reading list, please search for the module using the module code: COM3013

Programmes this module appears in

Programme Semester Classification Qualifying conditions
Computer Science BSc (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computing and Information Technology BSc (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Computer and Internet Engineering BEng (Hons) 1 Optional A weighted aggregate mark of 40% is required to pass the module
Data Science MSc 1 Optional A weighted aggregate mark of 50% is required to pass the module
Computer and Internet Engineering MEng 1 Optional A weighted aggregate mark of 40% is required to pass the module

Please note that the information detailed within this record is accurate at the time of publishing and may be subject to change. This record contains information for the most up to date version of the programme / module for the 2021/2 academic year.