- Docente: Michele Ruggeri
- Credits: 6
- SSD: MAT/08
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 6709)
-
from Sep 16, 2025 to Dec 18, 2025
Learning outcomes
Upon completion of the course, the student gains knowledge and computational tools of primary importance in the field of civil engineering, with particular focus on numerical methods for solving algebraic and differential equations and systems.
Course contents
The course introduces the fundamental tools of numerical analysis applied to problems in civil engineering. Its objective is to provide both theoretical understanding and practical skills for modeling and numerically solving complex problems arising in the study of structures, materials, and physical systems.
By using the Python programming language, students will learn how to implement numerical algorithms and interpret the results obtained. The course covers both classical and modern methods for function and data approximation, the solution of (systems of) equations (linear and nonlinear), numerical integration and differentiation, as well as the numerical simulation of ordinary differential equations. Particular emphasis is placed on computational applications, with attention to the stability, accuracy, and efficiency of the algorithms.
The course covers the following topics:
- Introduction to programming in Python
- Fundamentals of numerical mathematics
- Function and data approximation (polynomial interpolation, least squares)
- Numerical differentiation and integration
- Methods for solving linear systems (direct and iterative approaches)
- Methods for solving (systems of) nonlinear equations and optimization problems
- Computation of eigenvalues and eigenvectors
- Numerical methods for ordinary differential equations (initial value problems, boundary value problems discretized with finite differences and finite elements)
Readings/Bibliography
The course material (slides, lecture notes, exercises, ...) will be made available on Virtuale. Useful textbook:
- A. Quarteroni, F. Saleri, P. Gervasio: Calcolo scientifico. Springer, 2017.
Teaching methods
Frontal lectures, exercise sessions in lecture hall and in computer lab, independent solution of homeworks.
Assessment methods
Final examination assessing the acquisition of both theoretical and practical skills.
Teaching tools
The course includes a computer lab activity, which is an important part of the program, where the Python software will be used.
Office hours
See the website of Michele Ruggeri
SDGs

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