91250 - Deep Learning

Course Unit Page

  • Teacher Matteo Ferrara

  • Credits 6

  • SSD ING-INF/05

  • Teaching Mode Traditional lectures

  • Language Italian

  • Campus of Cesena

  • Degree Programme Second cycle degree programme (LM) in Computer Science and Engineering (cod. 8614)

  • Teaching resources on Virtuale

  • Course Timetable from Feb 25, 2022 to May 24, 2022


This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.

Quality education

Academic Year 2021/2022

Learning outcomes

The course aims at providing advanced skills (both theoretical and practical) on machine learning and, in particular, on deep learning.
At the end of the course the student will be able to:

  • in-depth train and optimize deep learning approaches;
  • choose and customize the most appropriate techniques to be used in real application scenarios;
  • use advanced deep learning techniques.

Course contents

  • Introduction to deep learning
  • Linear algebra, calculus and automatic differentiation
  • Artificial neural networks
  • Backpropagation
  • Optimization algorithms
  • Convolutional Neural Networks (CNN)
  • Recurrent Neural Networks (RNN)
  • AutoEncoders (AE)
  • Generative models
  • Reinforcement Learning (RL)
  • Natural Language Processing (NLP) (a practical example)


Slides of the course.

Suggested reading:

Teaching methods

Lectures + Practical (guided) sessions in lab.

Note: as concerns the teaching methods of this course unit, all students must attend the online e-learning modules 1 and 2 on health and safety.

Assessment methods

The examination consists of the realization and discussion of a deep learning project and an oral test.

Teaching tools

Software libraries and tools for deep learning:

  • Python
  • Jupyter
  • Tensorflow
  • Keras

Office hours

See the website of Matteo Ferrara