- Docente: Giorgio Bornia
- Credits: 6
- SSD: IINF-05/A
- Language: Italian
- Teaching Mode: In-person learning (entirely or partially)
- Campus: Bologna
- Corso: First cycle degree programme (L) in Mechanical Engineering (cod. 6680)
-
from Sep 14, 2026 to Dec 15, 2026
Learning outcomes
Students learn basic notions about the architecture of a computing system. Students gain expertise about techniques and methods for the solution of various classes of problems using a specific programming language.
Course contents
GNU/Linux operating systems
Preliminary notions
Installation of the operating system
Graphical shell
Text shell: the Bash language. Basic commands.
The C++ programming language
Alphabet, lexicon, syntax, semantics.
Variables, operators. Flow control constructs.
Data types: fundamental, derived, user-defined. Arrays, functions.
Classes. Data members and member functions. Constructors and destructor.
Elements of Numerical Analysis
Approximation of functions
Approximation of derivatives
Approximation of zeros
Approximation of integrals
Readings/Bibliography
Lecture notes
Source code and lecture notes available on Virtuale.
Textbooks for additional consultation:
GNU/Linux operating systems
C. Albing, J.P. Vossen, C. Newham, Bash Cookbook, O’Reilly
The C++ programming language
Aguilar, L. J., Dragoni, A. F. (2021). Fondamenti di programmazione in C++: Algoritmi, strutture dati e oggetti. Milano:
McGraw-Hill.
Shtern, V. (2001). Core C++: A software engineering approach. Upper Saddle River, N.J: Prentice Hall PTR.
Overland, B. (2001). C++ in plain English. Foster, City, CA: I.D.G. Books.
B. Stroustrup, The C++ Programming Language, Addison-Wesley
Elements of Numerical Analysis
Monegato, Fondamenti di calcolo numerico, Levrotto & Bella
Epperson, Introduzione all’analisi numerica, McGraw-Hill
Quarteroni, Sacco, Saleri, Numerical Mathematics
Teaching methods
Classroom face-to-face lectures
Lab sessions assisted by the professor and tutors
Assessment methods
Lab exam divided into a C++ module and a Numerical Analysis module.
Teaching tools
Classroom face-to-face lectures:
use of both blackboard and computer with projector, depending on the topic under discussion.
Lab sessions:
use of one computer per student. Projection to help the discussion.
Office hours
See the website of Giorgio Bornia
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.