Genetic Algorithms and Neural Networks


- To understand the way Genetic Algorithms (GA) work as a optimizing method.

- To be able to apply GA to simple problems using some software implementation of GA.

- To understand the neural networks basic types: feedforward, convolution and recurrent.

- To know the different Cost functions. To understand the usual optimization method used in neural networks: gradient descent. To understand the role of the different hyperparameters used in neural networks: number of layers, number of units on each layer and learning rate. To understand the different types of regularization and the situations that require the use of regularization.

General characterization





Responsible teacher

Rui Alberto Pimenta Rodrigues


Weekly - 4

Total - 52

Teaching language



There are no prerequisits.


- Deep Learning, Ian Goodfellow and Yoshua Bengio and Aaron Courville, MIT Press, 2016

- Deep Learning with Python, Francois Chollet, Manning, 2018




Teaching method

Short theoretical presentations will be followed by examples that include computational implementation.

Evaluation method

In the classes, along the semester, the students must do, in the classes two computational and theoretical works, done in the classes, that include a discussion.

Subject matter

Genetic Algorithms:

-An optimization method

-Basic Concepts: fitness measure, population, selection, mutation, recombination.

-Practical examples using software.


Neural networks:

-Basic concepts: neural network types (feed forward, convolution, recurrent), activation functions and cost functions.

- Parameter optimization methods and regularization methods.

-Practical examples using software

Will use the Python programming language and some of its packages. No previous knowledge will be assumed.




Programs where the course is taught: