29227 - Foundations of Informatics T (A-K)

Academic Year 2026/2027

  • Teaching Mode: In-person learning (entirely or partially)
  • Campus: Bologna
  • Corso: First cycle degree programme (L) in Mechanical Engineering (cod. 6680)

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

Quality education Industry, innovation and infrastructure

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