- Docente: Michele Ruggeri
- Credits: 6
- SSD: MATH-05/A
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Civil Engineering (cod. 6709)
-
from Sep 15, 2026 to Dec 17, 2026
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 concepts of scientific computing applied to civil engineering problems. Its objective is to provide the theoretical and practical foundations for the formulation, implementation, and numerical solution of mathematical models using the Python programming language. The course also serves as an introduction to scientific programming and assumes no prior programming experience. Through an integrated sequence of lectures and computer laboratory sessions, students progressively acquire the skills required to develop simple programs, implement numerical algorithms, and critically interpret their results. Particular emphasis is placed on the discretization of continuous problems, computational linear algebra, the reliability of numerical solutions, and the implementation of simple finite element models. The examples and applications are primarily drawn from structural engineering and provide an introduction to the computational methods employed in subsequent specialized courses.
The course covers the following topics:
- Introduction to scientific programming in Python (Jupyter, NumPy, SciPy, and Matplotlib).
- Fundamentals of numerical analysis (errors, stability, and conditioning).
- Numerical methods for the solution of linear systems (direct and iterative methods), with particular emphasis on sparse matrices.
- Discretization of boundary value problems using the one-dimensional finite element method.
- Eigenvalue problems and their interpretation in simple discrete structural models.
- Numerical methods for the solution of nonlinear equations.
- Numerical methods for the simulation of dynamical systems governed by ordinary differential equations.
Readings/Bibliography
The course material consists of lecture notes, Jupyter notebooks, and additional teaching material provided by the instructor throughout the lectures and computer laboratory sessions. These materials form an integral part of the course.
The following textbooks are recommended as references:
- A. Quarteroni, F. Saleri, P. Gervasio, Calcolo scientifico, Springer, 2017.
- E. Smith, Introduction to the Tools of Scientific Computing, Springer, 2022.
The textbook by Quarteroni, Saleri, and Gervasio serves as the primary reference for the theoretical aspects of numerical analysis, while Smith's textbook provides a complementary introduction to the tools and methodologies of scientific computing, with particular emphasis on scientific programming and the implementation of numerical algorithms.
Teaching methods
Frontal lectures, exercise sessions in lecture hall and in computer lab.
Due to the nature of the course activities and the teaching methods adopted, all students are required to complete Modules 1 and 2 of the online safety training for study environments before attending this course. Further information is available at the following link.
Assessment methods
The final examination consists of two assessments, carrying equal weight toward the final grade, designed to evaluate, respectively, the theoretical and numerical competencies acquired during the course, and the scientific programming skills and ability to implement numerical algorithms in Python.
For the purposes of assessment, the use of artificial intelligence (AI) tools is prohibited (so-called Scenario 1). Any use of such tools constitutes a violation of academic integrity.
Students with specific learning disorders (SLD) or temporary or permanent disabilities are encouraged to contact the University's Disability and Specific Learning Disorders Support Office as early as possible (https://site.unibo.it/studenti-con-disabilita-e-dsa/en). The Office will propose any appropriate accommodations to the students concerned. Such accommodations must, however, be submitted to the instructor for approval at least 15 days in advance. The instructor will assess their suitability in relation to the intended learning outcomes of the course.
Teaching tools
Tutoring sessions are provided to support problem-solving practice and to assist students during computer laboratory sessions.
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.