Learning objectives
<br />Objectives<br /> <br />The main objective of the classes is to provide basic knowledge about the principles behind the functioning and of the organization of computing systems and about methodologies and tools to exploit the possibilities that computing systems offer. These objectives are reached through the introduction to programming principles and tools, which are known to be essential aspects for both theoretical and practical applications. Moreover, classes provide functional descriptions of the principal software/hardware modules of computing systems.
Prerequisites
- - -
Course unit content
<br />Program<br />- Hardware architecture of a computing machine and introduction to principia of the functional behavior of electronic computers:<br />Numbers and numbering systems <br />Coding <br />I/O units and control <br />Bus, CPU <br />Common peripheral devices <br /><br />- Algorithms:<br />Algorithms/flowcharts <br /><br />- Operating systems<br />Operating systems <br />Memory management <br /><br />- Programming and programming languages.<br />Languages (formalisms, grammars) <br />Compilers/interpreters <br /><br />- Programming in C<br />Data types and data structures. Control structures.<br />Programming examples. <br /><br />- Productivity software. <br /><br /><br /><br />Laboratory activities<br />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.
Full programme
- - -
Bibliography
<br />
Suggested textbook<br />
Any textbook on foundations of computer science is suitable for the classes. Slides from classes are available in the web site of the course.<br />
<br />
D Mandrioli, S Ceri, L Sbattella, P Cremonesi G Cugola<br />
"Informatica: arte e mestiere"<br />
3a edizione McGraw Hill 2008<br />
<br />
D. Glenn Brookshear <br />
"Informatica: una panoramica generale"<br />
9a edizione Pearson Addison-Wesley 2006<br />
Teaching methods
<br />Examination methods<br />Two written tests: both exams must be sufficient. Final mark is based on the average of both tests. 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. The second exam regards solving a problem through a C program.
Assessment methods and criteria
- - -
Other information
- - -