1. Theoretical classes, where knowledge to be acquired by students is presented. To ease its progress, students will be provided with references to basic texts. Those materials will allow students to get deeper understanding of topics they are more interested in.
* Emphasis will be put in the impact of computer systems performance in different application domains and its impact on organizations.
* Included examples will emphasize the acknowledgment of the rapid evolution of computer architectures and the need for longlife learning to keep being an active professional.
2. Lab projects, where students will analyze and develop diverse assignments using concepts from the course. Those projects will be carried out by teams, to foster the ability to do team work.
* Depending on the case students will be required to write a report on each project or to complete an evaluation test.
* Labs may include, among others, the performance evaluation of a computer system, the evaluation of the instruction level parallelism impact on performance, the evaluation of the design parameters in a cache memory system, the study of the impact of consistency memory models (including relaxed models) in applications performance, as well as the study of the impact of parallel programming models.
3. Exercise resolutions done by lecturers to allow a better understanding of course concepts given in theoretical classes.
4. Exercise resolutions done by students to allow student autoevaluation and the acquisition of needed competences.