FACOLTA' DI INGEGNERIAUniversita' di Pavia
Home
  Teaching > Insegnamenti > Fondamenti di informatica Translate this page in English
About the Faculty
Orientation
Teaching
Research
Services
Industry partnerships
Mobility Erasmus
Shortcuts
Search in this site
Fondamenti di informatica

2009-10 Academic year

Lecturer: Giovanni Danese   Tullio Facchinetti  

Course name: Fondamenti di informatica
Course code: 500655
Degree course: Ingegneria Elettronica e delle Telecomunicazioni , Ingegneria Informatica
Disciplinary field of science: ING-INF/05
University credits: CFU 12
Course website: http://gamma.unipv.it/fdi/ *** http://robot.unipv.it/to
olleeo/

Specific course objectives

Main objectives of this course are to provide basic concepts related with functioning and organization of processing and interfacing methodologies to allow the student to exploit the potentials of processing systems. This particularly refers to computer programming. The course will describe both hardware and software characteristics of computers, as well as its programming paradigm, including an introduction to the most relevant data structures. Specifically, the C programming language is explained.

Course programme

Introduction
Basic concepts, technical terms and notation, and application fields of computers are presented.

Information coding
Techniques are illustrated to represent and store numbers, text and graphics within a computer. Special coding techniques are presented, including redundant and non-redundant codes, and error detection and correction codes. The Boole algebraic is also introduced.

Computer architecture
It describes each computer module and component: processor, instructions, execution cycle, devices and interfacing techniques, peripherals. The description will provide the overall view of a computing system, both in terms of hardware and software components. It includes a presentation of basic system programs and applications.

Operating systems
The main features of operating systems are presented, including the kernel and system programs. A classification of operating systems is provided, based on the most relevant features.

Program development
The program development environment is presented. This basically addresses the UNIX shell, where the compiler and other useful tools can be used. For this purpose, the UNIX environment is briefly introduced.

Data structures
The most common and important data structures are presented. Both the abstract definition and their actual implementation are dealt.

Programming
Basic concepts of computer programming are introduced. The process that brings the implementation of a computer program is presented, including the problem definition and its formalization, formal methods to develop an algorithm (flowcharts in particular), the analysis, testing, debugging and validation of a program.

C language
The actual implementation of programs will be illustrated through the explanation of the C language. The presentation spans over the language syntax, data types, flow control structures, and I/O techniques.

Course entry requirements

Those ones required for the admission.

Course structure and teaching

Lectures (hours/year in lecture theatre): 60
Practical class (hours/year in lecture theatre): 40
Practicals / Workshops (hours/year in lecture theatre): 30
Project work (hours/year in lecture theatre): 0

Suggested reading materials

Prof. Danese's content.

J. Glenn Brookshear. INFORMATICA una panoramica generale. Pearson - Addison Wesley. 9^ edizione, 11/2006.

P. Tosoratti. Introduzione all’Informatica. Casa Editrice Ambrosiana, 1998, Milano.

More information can be found at http://gamma.unipv.it/fdi/..

Prof. Facchinetti's content.

Notes and slides are available about all the covered topics at http://robot.unipv.it/toolleeo/.

Tullio Facchinetti, Cristiana Larizza, Alessandro Rubini. Dalla A alla Z passando per C. Biblioteca Delle Scienze, Pavia. [ITALIAN].

Brian W. Kernighan, Dennis M. Ritchie. Linguaggio C. Seconda Edizione - Jackson Libri, 1989. [ENGLISH version available].

Testing and exams

There are a written and a practical test. The written test will cover 8 out of all the possible topics (2 of them will be related to theoretical topics covered by Prof. Facchinetti). The overall score will the the arithmetic average of single scores.

The practical test consists in the implementation of a program using the C language. The test will take place within the computer laboratories. The whole exam will be considered as passed once both parts (theory and practice) will be sufficient. The overall score is the weighted average between theory and practice (weights 3/5 and 2/5 respectively).

An optional oral examination can be requested to

* improve a sufficient score (the score may also be reduced)
* in case of an insufficient score in the written test, whether the evaluation is higher than 16/30, the oral examination may allow to reach a sufficient score.

In case of an insufficient or a non-satisfactory result in one of the two tests only, only that test is required to be repeated. However, a sufficient result will remain valid until the winter examination session of the next academic year.

Intermediate test

Since the course spans over two semesters, an intermediate written test will take place at the end of the first semester. The test will deal with the topics covered in the first semester. The participation to the intermediate test is optional.

In case of participation to the intermediate test, the whole exam results as composed by 3 tests, and the following rules hold:

* a first test (written) will deal with the topics covered in the first semester; it will be composed by 5 questions; one of them will address topics covered by Prof. Facchinetti;
* the second test (written) will deal with topics covered in the second semester; the total number of questions is 3; one of them will be related with topics covered by Prof. Facchinetti; the second test can only be done whether the first test was sufficient;
* the third test (practice) consists of a programming challenge using the C language.

The overall score is calculated as the weighted average among the three scores (weights (15/40, 9/40 and 16/40, respectively).

An optional oral test can be done only whether the overall score is sufficient.

Copyright © Facoltà di Ingegneria - Università di Pavia