- Docente: Alessandro Lanza
- Credits: 12
- SSD: MATH-05/A
- Language: English
- Teaching Mode: Blended Learning
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 6708)
-
from Sep 15, 2026 to Dec 17, 2026
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 (mainly) guided by the teacher. 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 in e-learning mode ( ==> https://site.unibo.it/tutela-promozione-salute-sicurezza/en/training/students-general-and-specific-training ).
Assessment methods
The exams for the two modules of the course are independent, and students may take them in any order and on different dates. The exams will be held during six official sessions scheduled throughout the academic year: three sessions in January/February, two in June/July, and one in September.
For both modules, the exam will be held in (mainly) oral form, with theoretical questions and discussion of the laboratory exercises carried out during the course (exam duration: approximately 30 to 40 minutes). The exams aim to evaluate the knowledge of the key concepts and procedures discussed during the teaching module as well as their critical understanding. The passing and maximum grades are 18 and 33 points (corresponding to 30 cum laude), respectively. In order to achieve a passing grade, students are required to demonstrate 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, inappropriate use of language, and/or logic failures in the analysis of the subject.
The final grade will be computed as the (rounded-up) average of the two grades (with the constraint that a passing grade must be obtained in each of the two modules).
To facilitate students who attend the course regularly and study consistently, two midterm exams will take place: one at the end of module 1 (early November) and one at the end of module 2 (around December 17th–22nd or in early January, immediately following the Christmas break). Participation in these midterm exams is optional (none, one, or both); however, exams must be taken in person. Both exams will be in written form, consisting of theoretical questions and exercises to be solved on the computer using Matlab (exam duration: approximately 3 to 4 hours), with passing and maximum grades of 18 and 33 points, respectively. The passing grades obtained in the midterm exams will remain valid for the January/February 2027 exam session.
While midterm exams are necessarily in-person, students unable to attend due to travel restrictions retain full access to all regular exam sessions, where the same evaluation standards apply.
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.