Academic year
2019/2020 Syllabus of previous years
Official course title
Course code
CT0005 (AF:306592 AR:166164)
On campus classes
ECTS credits
Degree level
Bachelor's Degree Programme
Educational sector code
1st Semester
Course year
Go to Moodle page
The teaching falls within the basic educational activities of the degree course in Computer Science.
It allows to learn foundations and techniques for the design of the main components of a computer: Processor - Input/Output - Memory.
It also allows to deepen the knowledge on the machine / assembly levels of a conventional computer.
The course provides moreover knowledge on measures and techniques for performance evaluation of a computer.
Finally, the course emphasizes the hardware/software interface of computers.
Knowledge and understanding.

The student will have mastered the specific technical terminology.
She will be able to recognize and understand the theoretical foundations and techniques for designing the main components of a computer.
She will have knowledge on representation of information and on measures for performance evaluation.
She will understand the complexity of modern computer architectures, and their influence on software design and performance.
Furthermore, the student will acquire knowledge on the level of machine / assembly programming, and on the translation of simple high-level programs in assembly language.

Ability to apply knowledge and understanding.

The student will be able to carry out exercises aimed at applying the knowledge acquired in the various topics of the course; in particular, on the representation of integer and rea
numeric values, on the logical design of circuits, on the parallelism at the level of instructions, on the realization of the various levels of memory hierarchies, on performance eval
of processors and I/O subsystems, on assembly translation of high-level imperative programs.
She will also be able to make hardware / software choices applying the principles of performance evaluation.
No specific preliminary knowledge is required.
- Computer organization and levels of abstraction
- Information representation, computer arithmetics, Boolean algebra
- Combinatorial/sequential circuits
- Machine instructions: MPIS processor
- Principles of the design of a CPU
- Performace evaluation
David A. Patterson, John L. Hennessy. "Struttura e Progetto dei Calcolatori - Quarta Edizione Zanichelli". Zanichelli, 2014.
Teacher's notes.
The exam is composed of two parts.
The first is concerned with a set of theoretical open-ended questions, which aims to test the proficiency of the student with respect to the various topics of the course and the specific technical terminology.
The second part of the exam is related to the skill assessment, through the solution of exercises on the course subjects.
The course uses classical frontal teaching, with theoretical lessons and exercises.
Definitive programme.
Last update of the programme: 07/05/2019