Università degli Studi di Urbino Carlo Bo / Portale Web di Ateneo


A.Y. Credits
2019/2020 6
Lecturer Email Office hours for students
Andrea Viceré
Teaching in foreign languages
Course with optional materials in a foreign language English
This course is entirely taught in Italian. Study materials can be provided in the foreign language and the final exam can be taken in the foreign language.

Assigned to the Degree Course

Applied Informatics (L-31)
Curriculum: Curriculum per l'elaborazione delle Informazioni
Date Time Classroom / Location
Date Time Classroom / Location

Learning Objectives

The objective is to provide a general introduction to numerical simulation techniques, demonstrating their application in different fields, by means of writing software code in Python to solve specific problems.
The student will acquire a basic knowledge of simulation methodologies and of the techniques for assessing the validity of simulation results.


1. Course introduction
   1.1 The Python language: a crash introduction

2. Ordinary differential equations
   2.1 A case study: the "phogoid" motion of aeromobiles
   2.2 Perturbative treatment, and the Euler method
   2.3 A more complete method, and orders of convergence
   2.4 Higher order schemes, and Runge-Kutta methods

3. Partial differential equations: convective problems
   3.1 The convective motion in 1D
   3.2 Numerical stability and CFL condition
   3.3 The diffusion equation in 1D
   3.4 Convection and diffusion together: the Burgers equation
   3.5 Convection and conservation laws
   3.6 Shocks, integration schemes, predictor-corrector methods

4. Partial differential equations: diffusive problems
   4.0 Function parameters in Python
   4.1 Heat equation in 1D: explicit methods
   4.2 Heat equation in 1D: implicit methods
   4.3 Heat equation in 2D: explicit methods
   4.4 Heat equation in 2D: implicit methods
   4.5 Assignment: reaction-diffusion equations

5. Finite elements methods
   5.1 Finite volume method
   5.2 Finite elements (1): the beam
   5.3 Finite elements (2): the double pendulum
   5.4 State space representation, and time-domain simulation

6 Stochastic systems
   6.1 Stochastic processes, random walks, Ornstein-Uhlenbeck model
   6.2 Distribution, Metropolis-Hastings e Hybrid Monte Carlo methods
   6.3 Ising model as an application of MH

7. Partial differential equations: elliptic problems
   7.1 Laplace equation, and Jacobi method
   7.2 Poisson equation
   7.3 Gauss-Seidel and Successive Over-Relaxation methods
   7.4 Conjugate gradient method
   7.5 Multigrid methods

8 Simulations based on emerging dynamics
   8.1 Cellular automata
   8.2 Lattice gas cellular automata
   8.3 Lattice Boltzmann methods

Bridging Courses

The students should have acquired already competences in analysis, discrete mathematics, probability and statistics.
They should be also capable of writing pseudo-code, by having acquired already basic programming competences.

Learning Achievements (Dublin Descriptors)

Knowledge and understanding: the student will know the main simulation methodologies in a broad range of application contexts.
Applying knowledge and understanding: the student will be capable of identifying the simulation methodology most appropriate to a specific real problem, and will be able to write the code or pseudo-code of a simulation program.
Making judgements: the student will be able to evaluate autonomously if a simulation output is reasonable, and to establish procedures for verifying its correctness.
Communication skills: the student will acquire a scientific language appropriate in the field of numerical simulation.
Learning skills: the student will be able to study in deeper depth specific topics, not discussed during the course, using scientific textbooks also at a specialistic level.

Teaching Material

The teaching material prepared by the lecturer in addition to recommended textbooks (such as for instance slides, lecture notes, exercises, bibliography) and communications from the lecturer specific to the course can be found inside the Moodle platform › blended.uniurb.it

Supporting Activities

Slides of the course lessons, example Python code.

Didactics, Attendance, Course Books and Assessment


Frontal lessons and laboratory activities.
Realization of simulation projects and evaluation, on Moodle.


Attending the course is not an obligation, but it is strongly recommended.

Course books

The study material and the relevant bibliography will be provided by means of the Moodle platform.


Realization of a simulation project agreed with the teacher, defined by means of a set of requirements.
The project should be realized and submitted for evaluation within two weeks (ten working days) at most.
The evaluation criteria are: the number of requirements met, the quality of the implemetation (including documentation), the correctness of the assessment of the simulation results.
Each criterion is graded on a scale including insufficient, fair, good, excellent.
Subsequent oral exam, based on the discussion of the project and aimed at sampling the student's competence on the other aspects of the course programme, graded on the same levels.

Additional Information for Non-Attending Students


The same as for attending students, thanks to the availability of course material through the Moodle platform.

Course books

The same


The same


The course offers additional e-learning facilities on the Moodle platform > elearning.uniurb.it

« back Last update: 07/07/2020


Questo contenuto ha risposto alla tua domanda?

Il tuo feedback è importante

Raccontaci la tua esperienza e aiutaci a migliorare questa pagina.

Se sei vittima di violenza o stalking chiama il 1522

Il 1522 è un servizio pubblico promosso dalla Presidenza del Consiglio dei Ministri – Dipartimento per le Pari Opportunità. Il numero, gratuito è attivo 24 h su 24, accoglie con operatrici specializzate le richieste di aiuto e sostegno delle vittime di violenza e stalking.

Posta elettronica certificata



Performance della pagina

Università degli Studi di Urbino Carlo Bo
Via Aurelio Saffi, 2 – 61029 Urbino PU – IT
Partita IVA 00448830414 – Codice Fiscale 82002850418
2021 © Tutti i diritti sono riservati