- Docente: Gianluca Ferri
- Credits: 6
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Cesena
-
Corso:
First cycle degree programme (L) in
Computer Systems Technologies (cod. 6007)
Also valid for First cycle degree programme (L) in Computer Systems Technologies (cod. 6007)
-
from Feb 16, 2026 to May 25, 2026
Learning outcomes
At the end of the course, the student knows the principles of artificial intelligence and machine learning, as well as their mathematical foundations. The student is familiar with some development frameworks used in the field. The student is able to contribute to the design of systems capable of learning automatically and solving problems in various application domains using artificial intelligence and machine learning techniques. The student also understands the goals, principles, and methods of optimization.
Course contents
Module 1 – Foundations
Basic Statistics
-
Probability and distributions
-
Confidence levels, Decision Theory, statistical tests
-
Types of analysis: descriptive, predictive, prescriptive
Data Management and Preprocessing
-
Data structure (structured, semi-structured, unstructured)
-
Fundamental concepts of image processing
-
-
Data cleaning and quality
-
Data transformations and relationships
Artificial Intelligence and Machine Learning
-
Introduction and applications
-
Learning (supervised and unsupervised)
-
Classification, regression, clustering, sequences
-
Perception, anomaly detection, time series forecasting, insight extraction, synthetic data generation
-
-
Artificial Neural Networks
-
History and theoretical elements
-
Simplified implementation with NumPy
-
-
Fundamentals of Supervised Learning
-
Parameters and hyperparameters
-
Dataset splitting and metrics
-
Bias-variance trade-off (intuitive concept)
-
-
Other Machine Learning and Statistical Models
-
Overview
-
Selection criteria
-
Trade-off between computational cost and accuracy
-
Model interpretability
-
-
-
Deep Learning
-
Basic concepts
-
Main architectures
-
Transfer learning and reuse of pre-trained models
-
-
Generative Artificial Intelligence
-
Language and multimodal models
-
Introduction to architectures and training methods
-
Introduction to Prompt Engineering and RAG, agent-based approaches
-
-
Data and AI Ethics
-
Bias, data discrimination, responsible use
-
Module 2 – Applications and Deep Dives
Tools for Data Analysis and Machine Learning
-
Exploration using spreadsheets
-
Introduction to Python and commonly used frameworks
Phases of the Machine Learning Process
-
Data import and preparation
-
Model development cycle (transformation, visualization and exploration, training and validation)
-
Communication and interpretation of results
Practical Examples and Case Studies
Full ML cycle implementation on various topics:
- Convolutional Neural Networks (CNNs) for image recognition
-
Time series forecasting
Comparison between traditional models and deep learning approaches
-
Outlier and anomaly detection
-
Agent-based systems using LLMs, Prompt Engineering, and RAG
Readings/Bibliography
The following texts and resources may be useful for further study:
-
S. Raschka, Y. Liu, V. Mirjalili – Machine Learning with PyTorch and Scikit-Learn: Develop machine learning and deep learning models with Python – Packt Publishing, 2022
-
W. McKinney – Python for Data Analysis, 3rd Ed. – O’Reilly, 2022
Open access: https://wesmckinney.com/book
-
PyTorch: https://pytorch.org/
-
OpenCV: https://opencv.org/
Teaching methods
Laboratory exercises from Module 2 will alternate with the lectures from Module 1.
A teaching assistant will be available to support the learning activities.
In consideration of the type of activity and the teaching methods adopted, attendance of this educational activity requires all students to have previously completed Modules 1 and 2 of the safety training for study environments, available in e-learning mode at: https://corsi.unibo.it/laurea/IngegneriaScienzeInformatiche/formazione-obbligatoria-su-sicurezza-e-salute
Assessment methods
The final assessment consists of:
- the development and presentation of a project, either individual or group-based, that demonstrates understanding of the topics covered.
Teaching tools
IDE:
- VS Code: https://code.visualstudio.com/
- PyCharm: https://www.jetbrains.com/pycharm/
Strumenti:
- Jupyter: https://jupyter.org/
- Google Colab: https://colab.research.google.com/
- Anaconda: https://www.anaconda.com/products/distribution
Office hours
See the website of Gianluca Ferri