- Docente: Alessandro Lanza
- Credits: 12
- SSD: MAT/08
- Language: English
- Teaching Mode: Traditional lectures
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 6708)
-
from Sep 16, 2025 to Dec 18, 2025
Learning outcomes
The aim of this course is to provide students with both the theoretical knowledge and practical skills required to recognize, analyze and solve numerically on the computer some classes of mathematical problems naturally arising from modelling of physical systems subject to simulation/design in civil engineering. Students will acquire knowledge in the following areas: (1) fundamentals of numerical analysis, such as types of numerical errors, machine numbers, posedness and conditioning of mathematical problems, convergence, stability, accuracy and (spatial and temporal) efficiency of numerical methods; (2) numerical solution of systems of linear equations; (3) numerical solution of non-linear equations and systems of non-linear equations; (4) numerical interpolation and approximation (fitting) of data and functions; (5) numerical differentiation and integration (quadrature) of functions; (6) numerical solution of (linear) differential equations of elliptic, parabolic and hyperbolic type, with focus on the finite difference method and some mention of the finite element method. The main skills developed during this course include: (1) proficiency in recognizing classes of mathematical problems, analyzing them from posedness and conditioning point of views and, hence, predicting the difficulty of their numerical solution; (2) ability to choose the numerical method suitable for the solution of some classes of mathematical problems in accordance with the desired accuracy-efficiency tradeoff; (3) software competence: hands-on experience with using Matlab software and its programming language to implement algorithms and, in particular, numerical methods; (4) analytical and critical thinking: enhanced ability both to figure out the numerical algorithms running at the core of widely used simulation /design softwares in civil engineering, and to interpret their outputs from the numerical perspective. The course contributes to the objectives of the master's program by completing and complementing the theoretical mathematical preparation acquired by students during the bachelor’s degree with the knowledge and ability to solve numerically (on the computer) classes of mathematical problems of interest to civil engineering.
Course contents
The course comprises two modules, module 1 and module 2.
REQUIREMENTS
Fluent spoken and written English is a necessary prerequisite: all the lectures, tutorials, reference documents and presentations will be in English.
A good prior knowledge of Calculus, Geometry and Linear Algebra is a desirable prerequisite.
CONTENTS OF MODULE 1:
- Numerical Analysis key concepts: accuracy, precision, truncation and round-off errors, condition numbers, convergence and stability, computational efficiency
-
Numerical Linear Algebra: direct and iterative methods for the numerical solution of systems of linear equations.
- Numerical solution of single non-linear equations and of systems of non-linear equations.
-
Numerical interpolation and approximation of functions and data: interpolating and approximating polynomials, least-square fitting.
-
Numerical differentiation: finite difference approximation of ordinary and partial derivatives.
-
Numerical integration (quadrature): Newton-Cotes and Gaussian quadrature formulas.
-
Exercises on previous topics: solution by implementation in Matlab of the required numerical methods.
CONTENTS OF MODULE 2:
- Numerical solution of Ordinary Differential Equations (ODEs): initial value problems.
-
Numerical solution of Partial Differential Equations (PDEs) by the Finite Difference Method:
- Elliptic PDEs: the Poisson/Laplace Equation
- Parabolic PDEs: the Heat equation
- Hyperbolic PDEs: the transport (advection) equation
-
Exercises on previous topics: solution by implementation in Matlab
Readings/Bibliography
The teaching material provided during the course (slides, exercises and solutions, Matlab source codes, etc.) on the University of Bologna e-learning platform ( https://virtuale.unibo.it/ ) is sufficient for an adequate understanding of the topics covered.
However, the topics of the course can (optionally) be deepened by reading many books on Numerical Analysis, such as, for example:
For the first part of the course:
- A. Quarteroni, F. Saleri and P. Gervasio, Scientific Computing with Matlab and Octave (4th Edition), Springer, 2014.
- A. Quarteroni, R. Sacco and F. Saleri, Numerical Mathematics (2nd Edition), Springer, 2007.
For the second part of the course:
- A. Quarteroni, Numerical Models for Differential Problems (3rd Edition), Springer, 2017.
Teaching methods
Theoretical lectures supported by powerpoint presentations and use of blackboard, as well as exercises in the computer laboratory using the Matlab software. The laboratory exercises will be partly guided by the teacher, partly solved by the students (either individually or in groups). The results of the exercises will be analyzed during the lessons and (possibly) discussed by the students during the final oral exam.
Given the type of activity and teaching methods adopted, the attendance of this course requires the prior participation of all students in the training modules 1 and 2 on safety in the study places ( https://elearning-sicurezza.unibo.it/ ) in e-learning mode.
Assessment methods
The exams for the two modules of the course are independent. Students are allowed to take them in different dates. The final grade will be computed as the (rounded-up) average of the two grades. To obtain a final passing grade, passing grades must be obtained in each of the two course parts. In each part, in order to achieve a passing grade, students are required to demonstrate a knowledge of the key concepts of the subjects, some ability for critical application, and a comprehensible use of technical language. A failing grade will be awarded if students show knowledge gaps in key-concepts of the subject, inappropriate use of language, and/or logic failures in the analysis of the subject.
Two midterm exams will take place, one at the end of the first part of the course (module 1), one at the end of the second part (module 2). Both exams will be written and consist of theoretical questions and exercises to be solved on the computer using Matlab (exam duration between 3 and 4 hours), and the passing and maximum grades for both exams will be 18 and 33 points, respectively. The sufficient marks (greater than or equal to 18) obtained by the students in the midterm exams will be valid for the exam session of January / February 2025.
For each of the two course parts, the final exam will be held in (mainly) oral form, with theoretical questions, discussion of the laboratory exercises carried out during the course and possible assignment/request for the solution of new exercises (exam duration between half an hour and 45 minutes, approximately).
Both the midterm and final exams aim to evaluate the knowledge of the key concepts and procedures discussed during the teaching modules as well as their critical understanding.
Teaching tools
Slides (and possibly notes) and exercises from the teacher, and other material in electronic format (Matlab source codes, etc.). The teaching material will be available on the University of Bologna e-learning platform ( https://virtuale.unibo.it/ ).
Office hours
See the website of Alessandro Lanza
SDGs

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