- Docente: Carmela Lardo
- Credits: 6
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Mechatronics (cod. 6009)
-
from Sep 14, 2026 to Dec 15, 2026
Learning outcomes
At the end of the laboratory course, the student understands the fundamentals of a symbolic and numerical computation program and uses it to solve simple problems in calculation, linear algebra, and mathematical modeling. The student gains proficiency with measurement instruments and the treatment of errors. Additionally, they approach numerical and statistical computation with professional rigor.
Course contents
Recommended prerequisites: a working knowledge of basic mathematics (algebraic computation, elementary functions), physics (physical quantities, units of measurement) and computer science (general computer use, basic programming concepts).
Introduction to the Python language
- Installation and recommended development environments (Jupyter, Colab, Spyder)
- Data types, control structures, functions
- Libraries for numerical and statistical computing (NumPy, pandas, matplotlib)
Error theory
- Types of error (systematic, random)
- Error propagation
- Absolute and relative error
- Representation and estimation of experimental uncertainty
Descriptive statistics
- Measures of central tendency: mean, median, mode
- Measures of dispersion: variance, standard deviation, range
- Measures of position: percentiles, quartiles
- Bivariate analysis: covariance, correlation coefficient
Probability and distributions
- Basic concepts of probability
- Discrete random variables: binomial and Poisson distributions
- Continuous random variables: normal and uniform distributions
- Central limit theorem, sampling error, standard error
The course includes laboratory activities aimed at applying the theoretical content:
- Implementation of Python scripts for computing the statistics described above
- Simulation of probability distributions and error propagation
- Analysis of real or simulated datasets
- Experimental verification of theoretical concepts through practical examples
Non-attending students are advised to supplement their individual study with the practical exercises available in digital format (guided Python notebooks) on the Virtuale platform, in order to complete independently the exercises proposed during the course.
Readings/Bibliography
Material required for exam preparation
All material needed to prepare for the course and the exam is available on the Virtuale platform. The material consists of:
- Lecture slides covering the theoretical content developed during the course
- Jupyter Notebooks containing Python code examples, guided exercises and practical applications of the concepts covered (statistics, errors, distributions, regressions, etc.)
The material is organised by thematic units corresponding to the topics in the syllabus and is updated regularly throughout the course. No textbook purchase is required.
Recommended texts for further study
Students wishing to deepen their understanding of the topics covered may consult:
- "Propedeutica alla scienze sperimentali. Introduzione al metodo scientifico e all'inferenza statistica", Leopoldo Trieste; Aracne 2024
- "Think Stats: Probability and Statistics for Programmers", Allen B. Downey, O'Reilly Media – available at https://allendowney.github.io/ThinkStats/ – useful for integrating theory and practice in Python.
Teaching methods
The course includes:
- Lectures focused on the development of theoretical content, with in-depth exploration of key concepts;
- Hands-on laboratory sessions using Python, aimed at reinforcing the knowledge acquired during lectures;
- Individual and group activities, designed to encourage active participation, student collaboration, and independent problem-solving.
Given the nature of the activities and teaching methods adopted, attendance to this course requires prior completion of Safety Training Modules 1 and 2 (on study environment safety), to be completed through the university’s e-learning platform.
Assessment methods
The oral exam consists of two consecutive parts:
1. Presentation of a Python project (40% of the final grade)Students must present a project developed independently, applying the concepts learned during the course.
The presentation, lasting a maximum of 15 minutes, may be delivered using slides (PDF format) or a Jupyter notebook, and should include:
-
a description of the problem addressed,
-
an explanation of the Python code developed,
-
data analysis, and
-
discussion of the results.
During the presentation, the instructor will ask in-depth questions related to the project to assess the student’s understanding of the methods used and the authenticity of the work.
2. Theoretical questions on course topics (60% of the final grade)The second part of the exam consists of two questions on theoretical topics covered during the course. These questions aim to evaluate the student’s grasp of fundamental concepts, their ability to relate theory to practical cases, and their use of appropriate scientific terminology.
The final grade reflects a combined evaluation of both parts of the oral exam:
- 18–19/30 Minimal or incomplete project; limited understanding. Theoretical answers are superficial. Communication is unclear or difficult.
- 20–24/30 Correct project with conceptual weaknesses. Good presentation. Theoretical answers are acceptable but not well developed.
- 25–29/30 Well-developed and well-justified project; effective code. Solid argumentation. Accurate theoretical answers.
- 30–30 cum laude Original, well-structured, and well-presented project. Full mastery of technical language and theoretical concepts. Excellent critical thinking.
Use of generative Artificial Intelligence (AI)
With regard to the assessment, limited, declared and non-substantial use of AI for support activities (e.g. summarising, rephrasing or code debugging) is permitted during the preparation of the project. Substantial use of AI to generate the code or the content of the project is not allowed. The student's actual individual contribution will be verified through follow-up questions during the oral examination.
Students with specific learning disabilities (SLD) or disabilities
Students with SLD or temporary or permanent disabilities are advised to contact the relevant University office at https://site.unibo.it/studenti-con-disabilita-e-dsa/it. The office will propose any appropriate accommodations to the students concerned; these must be submitted for approval to the course instructor at least 15 days in advance, and the instructor will assess their suitability in relation to the learning objectives of the course.
Teaching tools
- Video projector for lectures
- Virtuale platform for distributing slides, notebooks and teaching materials
- Python development environments: Jupyter Notebook, Google Colab, Spyder
- Campus computer laboratory
- Interactive Jupyter Notebooks with guided exercises
Office hours
See the website of Carmela Lardo
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.