DEIS
Dipartimento di Elettronica Informatica e Sistemistica

 

Computing Systems

Ing. Francesco Scarcello

A.A. 1999-2000



 

Computing Systems: Advanced Programming, Operating Systems, and Databases.

 

The course provides fundamentals of computer systems, covering both architectural issues and applications. Nowadays, any engineer faces complex applications that often require just simple specializations to fit some specific purpose.

Moreover, database management systems are at the core of any information systems, and it is important to know how they work, and how to design or at least query a database.

 

First, we introduce object-oriented programming, using the JAVA programming language. This language is then used to describe important data structures, as vectors, linked lists, trees, heaps, and so on. The student should now how these structures work, which one is more convenient depending on the specific application, and how to use them, possibly exploiting available libraries of classes and methods. We also show various techniques for solving problems (greedy, divide et impera, dynamic programming, and backtracking). For each technique, we describe some algorithms based on this technique and study their computational complexity.

The second part of the course provides an introduction to computer architectures and to operating systems concepts, as memory management, processes, and file systems.

Finally, we deal with database management systems. We show how to design a database, quickly covering conceptual, logical, and physical designing issues.

In particular, we focus on relational databases, and use the standard language SQL as data definition and data manipulation language.

 

The course is scheduled for the first semester of the second year of the “Corso di Laurea in Ingegneria Gestionale.”

The final exam consists of a written test and an oral test.