Fondamenti di informatica - (5 cfu)

Prof. Federico Bergenti Tel. 0521-905708 - Fax. 0521-905723


The main objectives of the classes are: (i) to provide the logic principles behind the functioning and of the organization of computing systems; (ii) to provide methodologies and tools to exploit the possibilities that computing systems offer. These objectives are reached through the introduction to programming principles and tools that are known for being essential aspects for both theoretical and practical applications. Together with programming principles and tools, classes provide functional descriptions of the principal software/hardware modules of computing systems.

After the complete acquisition of the notions described during classes, students will have a novel set of cultural tools that will be valuable help for subsequent development of their curricula.


- Hardware architecture of a computing machine and introduction to principia of the functional behavior of electronic computers:
Numbers and numbering systems (2 hours)
Coding (2 hours)
I/O units and control (2 hours)
Bus, CPU (2 hours)
Common peripheral devices (2 hours)

- Algorithms:
Algorithms/flowcharts (2 hours)
Examples: sorting algorithms (4 hours)

- Operating systems
Operating systems (2 hours)
Memory management (2 hours)

- Programming and programming languages.
Languages (formalisms, grammars) (2 hours)
Compilers/interpreters (2 hours)

- Programming in C
Data types and data structures. Control structures.
Programming examples. (10 hours - theory + exercizes)

- Productivity software. (6 hours - theory + exercizes)

Attività d'esercitazione

Classes on programming deal with an in-depth analysis of ANSI C programming language and with practical laboratory exercises. Exercises are mainly devoted to problems of numerical analysis and complex data structures. In particular, students will design algorithms and programs regarding: sorting problems, search problems, lists and tables management, etc.

Modalità d'esame

Two written exams (one of which in itinere): both exams must be sufficient. Final mark is based on the mean of both exams. Only if the first exam is sufficient, it is possible to go for the second exam in the following session. All sessions will allow both first and second exams. In case a student is not happy with his/her final mark, he/she can go for a SUBSTITUTIVE oral exam; in this case, all precedent exams are immediately cleared. Second exam regards solving a problem through a C program.



Testi consigliati

Any textbook on foundations of computer science is suitable for the classes. Slides and classes are mainly based on the following titles:
* P.Demichelis, E.Piccolo "Introduzione all'Informatica in C", McGraw-Hill
* C.Batini, L.C.Aiello, M.Lenzerini, A.Marchetti Spaccamela, A.Miola "Fondamenti d i Programmazione dei Calcolatori Elettronici", Franco Angeli
* Paolo Tosoratti, "Introduzione all'Informatica", seconda edizione, Casa Editrice Ambrosiana
* Peter Bishop, "L'Informatica", Jackson

Ultimo aggiornamento: 16-05-2005

Chiudi la finestra