72764 - Numerical Methods

Academic Year 2023/2024

  • Moduli: Alessandro Lanza (Modulo 1) Alessandro Lanza (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 8895)

Learning outcomes

A successful learner from this course will be able to: a) deal with numerical analysis topics such as: accuracy, truncation and round-off errors, condition numbers, convergence, stability, curve-fitting, interpolation, numerical differentiation and integration, numerical linear algebra; b) deal with numerical methods for solving ordinary and partial differential equations, with finite difference and finite element methods for parabolic and elliptic partial differential equations, applications of computer programs to case studies derived from civil engineering practice.

Course contents

The course comprises two modules, module 1 and module 2.


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.


  • Numerical Analysis key concepts: accuracy, precision, truncation and round-off errors, condition numbers, operation counts, convergence and stability.
  • 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: 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


  • 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



The topics of this course can 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, one at the end of the second part. 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 32 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 2024.

For ech 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


Quality education

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