Student guide Faculty of Engineering A.Y. 2010/11

Information Technology
Aim of the course
The course is divided into two parts, the first devoted to lectures on the theory, and the second to practical tutorials in the computer lab.
The lectures provide a basic overview of the hardware and software architecture of information systems, from the standpoints of both information processing (computers as executors of programs) and communications (computer networks and the Internet). Special emphasis is given to the process of solving problems through their algorithmic modelling and formalisation in programs that can be executed on a computer, with a view to imparting the basic ideas of computer programming, investigating both the conceptual and practical aspects.
In the practical tutorials, students will instead implement what they have learned during the lectures by designing and writing applications in the Java programming language. All the tutorial sessions will be held in the computer lab, allowing students to gain extensive hands-on practice in the fundamentals of Java programming.
The skills acquired in this course are essential prerequisites for the subjects encountered in subsequent years, and in particular for the management of business information flows, which is studied more in-depth in the ICT area courses.
Basic ("user level") ability to use a PC provided with office automation tools and connected to a local network and the Internet. The above skills should be certified by 4 of the 7 ECDL modules (module 2: operating system and file management; module 3: word processing; module 4: spreadsheets; module 7: electronic mail and Internet).
Syllabus
Theory
1. Introduction: information and communication .
2. Encoding of information.
3. Problems and algorithms.
4. Introduction to programming.
5.  Hardware architecture of the computer.
6. Software architecture of the computer: operating system.
Practical part
1. Introduction to Java and to the development environment.
2.  Classes, objects and data types.
3. Decisions (IF) and iterations (FOR and WHILE).
4. Arrays and vectors.
5. Design of classes.
Examinations
There will be two intermediate progress tests: one during the mid-semester break, and one at the end of the course. In both cases, the test will comprise a mixture of theory and practical exercises.
Reading list
Sciuto D., Buonanno G., Mari L., Introduzione ai sistemi informatici (III ed), McGraw-Hill, 2005.
Horstmann C.S., Concetti di informatica e fondamenti di Java (Terza edizione), Apogeo, 2005.
Additional study materials distributed by the lecturers (slides)