Course name: Fondamenti di informatica
Course code: 500655
Degree course: Ingegneria Meccatronica
Disciplinary field of science: ING-INF/05
University credits: CFU 12
Course website: per il modulo del prof. Coldani: http://gamma.unipv.it/fondinfo_a_mn
Specific course objectives
The primary goals of teaching are to provide students logical principles of computer system operation and organization. Teaching provides the description of the functional structure of the main hardware and software modules that make up a computer system. Furthermore you have the fundamental techniques and tools for working with the computer and for its programming.
Concepts, technical terms, and application fields of computer are defined. Shortly the history of computing is described.
Several techniques of representation of numerical information, text, graphics inside the computer are discussed. Binary codes are discussed. The Boolean algebra is discussed.
Algorithms and programs
The concepts of algorithm and program are defined.
Functional design of computers and modules that compose them are discussed. Logic operation of processors, the format of the instructions and the execution cycle, organization of storage devices and related access techniques, principles of operation and the characteristics of peripheral devices are discussed. Architecture of a complex information system with reference to the problems of memory management and resources is discussed.
Main functions of the operating system and those of the kernel and basic software are presented. A classification of the various types of existing operating systems is presented.
Data structures in terms of their abstract definition as well as their effective implementation on computational systems are discussed.
Communications and computer networks
Main services achievable through a computer network and what are the technologies that allow the operation are presented.
Data Base and the criteria for the design and management are presented.
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. 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.
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
Course entry requirements for the registration.
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
Suggested reading materials
For Mr. Coldani's lectures.
J. Glenn Brookshear. Informatica. Una panoramica generale. Pearson – Addison Wesley, 9^ edizione, 2006, Milano.
P. Tosoratti. Introduzione all’Informatica. Casa Editrice Ambrosiana, 1998, Milano.
For Mr. Facchinetti's lectures.
Tullio Facchinetti, Cristiana Larizza, Alessandro Rubini. Dalla A alla Z passando per C. Biblioteca Delle Scienze, Pavia, 2009. (available in Italian language only).
Brian W. Kernighan, Dennis M. Ritchie. C language - second edition. Jackson, 1989. (available in English language).
Testing and exams
Examination tests include:
1) a written test in theory (6 questions) about the topics covered in the lectures of the first semester;
2) a written test in theory (3 questions) about the topics covered in the lectures of the second half;
3) a practical test to be performed on computers. The latter provides for the implementation of an algorithm for the proposed problem and the encoding of the relevant program in C language.
The achievement of a sufficient assessment tests labelled 1) and 2)+3) will allow for passing the exam. Overall assessment is the weighted average of the assessments obtained in the tests labelled 1) and 2)+3) (weights are 1/2 and 1/2 respectively).
There is a optional oral exam with two different purposes:
a) in case the resulting overall assessment is sufficient, the oral examination can afford to change this assessment;
b) in the event that tests labelled 1) or 2)+3) have been evaluated to be inadequate, but exceeding 16/30, the oral examination can afford to reach pass mark.
If tests labelled 1) or 2)+3) are inadequate (or unsatisfactory), the candidate may repeat only that test. In any case the validity of the tests is concluded by the end of winter examination session of the academic year following that in which the tests have been incurred.
Since the course develops in both semesters of the academic year, a written mid-term test will take place at the end of the first half, which would ensure the candidate preparation on the topics discussed during the first part of the course. Mid-term test participation is optional. In case of mid-term examination, the following rules apply:
a) the first test (theoretical) concerns topics in theory covered in the lectures of the first semester and 6 questions are proposed to the candidate;
b) the second test (theoretical) concerns topics in theory covered in the lectures of the second semester and 3 questions are proposed to the candidate. The access to this test is bound to the overrun of the first test;
c) the third test (practice) provides for the implementation of an algorithm for the proposed problem and the encoding of the relevant program in C language. The access to this test is bound to the overrun of the first test.
The achievement of a sufficient assessment tests labelled a) and b)+c) will allow for passing the exam. Overall assessment is the weighted average of the assessments obtained in the tests labelled a) and b)+c) (weights are 1/2 and 1/2 respectively). Only where the resulting overall assessment is sufficient, there is a optional oral exam in order to change this assessment. If test labelled b)+c) is inadequate (or unsatisfactory), the candidate may repeat only that test. In any case the validity of the tests is concluded by the end of winter examination session of the academic year following that in which the tests have been incurred.