Syllabus query

Academic Year/course: 2022/23

30205 - Computer architecture and organisation I

Syllabus Information

Academic Year:
30205 - Computer architecture and organisation I
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
439 - Bachelor's Degree in Informatics Engineering
443 - Bachelor's Degree in Informatics Engineering
Second semester
Subject Type:
Basic Education

1. General information

1.1. Aims of the course

The aims of this course are: basic knowledge about key concepts in modern ISAs and, designing assembly programs for dealing with I/O synchronization.

This subject does not explicitly work on or evaluate any of the Sustainable Development Goals, SDGs, included in the 2030 Agenda (

1.2. Context and importance of this course in the degree

This course is classified as a core subject of the computer science degree program. The contents of this course will support, in part, the concepts of the rest of the subjects.

1.3. Recommendations to take this course

As requisite for the present course, the student should have taken the course "Introducción a los Computadores.

2. Learning goals

2.1. Competences

Upon passing the course, the student will be more competent to...

- Solve problems and take decisions with initiative, creativity and reasoning.

- Apply information and communication technologies in engineering.

- Use basic knowledge about the use and programming of computers, databases and computer programs with application in engineering.

- Apply knowledge of the structure, organization, operation and interconnection of computer systems, the fundamentals of their programming, and their application to the resolution of engineering problems.

- These last two competences are developed in a specific way to reinforce the first two, pursuing the learning results of the subject (see learning results of this guide).

2.2. Learning goals

The student, in order to pass this course, must demonstrate the following learning goals ...

- Knows at a basic level the parameters that define the machine language architecture (ISA, instruction format and coding, stores, data types, addressing modes, sequencing control and control transfers, exception handling).

- Knows and can handle the machine language architecture of a reference processor.

- Distinguishes the concepts of machine and assembly language.

- Knows the methods of representation and coding of information and its basic operations. Is able to translate data and control structures from high-level languages to assembler. Uses procedure calls.

- Understands the generic register model of a peripheral device driver and basic synchronization and transfer methods. Can program any I/O device and knows how to handle exceptions.

- Knows how to integrate assembly code and library routines into programs written in high-level languages.

2.3. Importance of learning goals

This course lays the fundations of the design, programming and efficient use of computers, whether general purpose or specific (embedded systems, supercomputing, GPU, etc.).

3. Assessment (1st and 2nd call)

3.1. Assessment tasks (description of tasks, marking system and assessment criteria)

The student must demonstrate that he/she has achieved the expected learning goals through the following assessment activities.

At the School of Engineering and Architecture of the Rio Ebro Campus:

The evaluation of the subject is based on two tests:

P1. Written test (exam) to answer questions and solve exercises and problems. A minimum grade of 5.0 points in this test is required to pass the course.

If this test is passed, then the test is weighted 90% in the grade of the subject and, if this minimum is not reached, then the grade in the subject is that of this test.

P2. Laboratory work and tests. Each student must submit the work indicated in the practices of the course. A minimum grade of 5.0 points in this test is required to pass the course.

If this test is passed, then the test is weighted 10% in the grade of the course and, if this minimum is not reached, then the grade in the course is the grade of this test.

If both tests are failed, the grade corresponds to the average as in the case of a pass.

Voluntary tests. Throughout the four-month period, one or more voluntary tests may be given, consisting of the resolution of practical cases, exercises or problems. The total weight will be an extra 10% of the grade, only in the case of obtaining a minimum grade of 5.0 out of 10.

Second call. The evaluation of the course will be based on two analogous tests to those of the first call, with the same weightings and requirement of minimum grades.

Polytechnic University School of Teruel

Written exam divided in two parts, one part of theory and questions and the other of programming in assembler.

4. Methodology, learning tasks, syllabus and resources

4.1. Methodological overview

The methodology followed in this course is oriented towards the achievement of the learning objectives. A wide range of teaching and learning tasks are implemented such as:

  • Lectures.
  • Problem-based learning in small group sessions.
  • Practical sessions in the laboratory.
  • Tutored work at the end of the semester (evaluated independently).
  • Voluntary seminars and nonacademic tutorials to complement training activities.
  • Effective study of the concepts.

4.2. Learning tasks

The course includes the following learning tasks:

  • Development of the subject program in the lectures.
  • In the lessons of problems, the concepts discussed in the lectures will be worked in detail.
  • In the computer lab sessions, small groups of students will work supervised by a teacher.
  • Students can also attend personalized tutorial classes.

4.3. Syllabus

The course will address the following topics:

  • Processor Architecture: Interpretation and translation, machine and assembly language, development environment, representation and coding of information, basic operations, registers and memory, addressing modes, instruction set, translation of data structures and control of high-level languages.
  • Subroutines: Procedure calls, activation record. Case study: Integration of high-level language code with assembly code and library routines.
  • I/O subsystem: Generic model device driver records. Basic methods of synchronization and transfer. Exceptions. Integration of peripherals in microcontrollers.

4.4. Course planning and calendar

Schedule sessions and presentation of works

The educational organization of the course is as follows.

  • Lectures (2 hours per week)
  • Problem classes (1 hour weekly)
  • Computer lab sessions:
    • Escuela de Ingeniería y Arquitectura de Zaragoza: 2 hours every 2 weeks.
    • Escuela Universitaria Politécnica de Teruel: 1 hour a week.
  • Tutorial and evaluation activities

The timetable of classes and practice sessions will be defined when the academic calendar of the University of Zaragoza is approved.

Student Work

To achieve the targets of this subject, students have to spend about 150 hours distributed as follows:

  • 56 hours approximately, during the learning activities (lectures, problems and practical lab sessions).
  • 51 hours of personal study (the study of notes and texts, problems solving problems, preparation for classes and practices, and learning of the software development process).
  • 40 hours of software development work.
  • 3 hours for the written final exam.

Curso Académico: 2022/23

30205 - Arquitectura y organización de computadores 1

Información del Plan Docente

Año académico:
30205 - Arquitectura y organización de computadores 1
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
326 - Escuela Universitaria Politécnica de Teruel
439 - Graduado en Ingeniería Informática
443 - Graduado en Ingeniería Informática
Periodo de impartición:
Segundo semestre
Clase de asignatura:
Formación básica
Materia básica de grado

1. Información Básica

1.1. Objetivos de la asignatura

La asignatura y sus resultados previstos responden a los siguientes planteamientos y objetivos:

Esta asignatura de introducción busca que cada estudiante sea capaz de comprender una arquitectura de lenguaje máquina y diseñar programas en lenguaje ensamblador capaces de comunicarse con periféricos.


Esta asignatura no trabaja ni evalúa de manera explícita ninguno de los Objetivos de Desarrollo Sostenible, ODS, incluidos en la Agenda 2030 (

1.2. Contexto y sentido de la asignatura en la titulación

Esta asignatura forma parte de la materia básica de Arquitectura de Computadores en el Grado de Ingeniería Informática. La asignatura enlaza con Introducción a los Computadores y es requisito para cursar Arquitectura y Organización 2.

1.3. Recomendaciones para cursar la asignatura

Para cursar esta asignatura es prerrequisito haber cursado la asignatura Introducción a los Computadores.

2. Competencias y resultados de aprendizaje

2.1. Competencias

Al superar la asignatura, el estudiante será más competente para...

Resolver problemas y tomar decisiones con iniciativa, creatividad y razonamiento.

Aplicar las tecnologías de la información y las comunicaciones en ingeniería.

Utilizar conocimientos básicos sobre el uso y programación de los ordenadores, bases de datos y programas informáticos con aplicación en ingeniería.

Aplicar conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería.

Estas dos últimas competencias se desarrollan de forma específica para reforzar las dos primeras, persiguiendo los resultados de aprendizaje de la asignatura (ver resultados de aprendizaje de esta guía).

2.2. Resultados de aprendizaje

El estudiante, para superar esta asignatura, deberá demostrar los siguientes resultados...

Conoce a nivel básico los parámetros que definen la arquitectura de lenguaje máquina (repertorio, formato y codificación de instrucciones, almacenes, tipos de datos, modos de direccionamiento, control del secuenciamiento y transferencias de control, gestión de excepciones).

Conoce y puede manejar la arquitectura de lenguaje máquina de un procesador de referencia.

Distingue los conceptos de lenguaje máquina y ensamblador.

Conoce  los métodos de representación y codificación de la información y sus operaciones básicas. Es capaz de traducir estructuras de datos y control de lenguajes de alto nivel a ensamblador. Utiliza llamadas a procedimiento.

Entiende el modelo genérico de registros de un controlador de dispositivo periférico y los métodos básicos de sincronización y transferencia. Puede programar cualquier dispositivo de E/S y sabe cómo tratar las excepciones.

Sabe integrar código ensamblador y rutinas de librería en programas escritos en lenguajes de alto nivel.

2.3. Importancia de los resultados de aprendizaje

Esta asignatura fundamenta el diseño, programación y uso eficiente del computador, ya sea este de propósito general o específico (sistema empotrado, supercomputación, etc.).

3. Evaluación

3.1. Tipo de pruebas y su valor sobre la nota final y criterios de evaluación para cada prueba

El estudiante deberá demostrar que ha alcanzado los resultados de aprendizaje previstos mediante las siguientes actividades de evaluacion

En la Escuela de Ingeniería y Arquitectura del Campus Rio Ebro:

La evaluación de la asignatura se realiza en base a dos pruebas:

P1. Prueba escrita (examen) en la que responder cuestiones y resolver ejercicios y problemas. Se requiere una nota mínima de 5.0 puntos en esta prueba para aprobar la asignatura.

Si se supera esta prueba, entonces la prueba pondera un 90% en la nota de la asignatura y, si no se alcanza este mínimo, entonces la calificación en la asignatura es la de esta prueba.

P2. Trabajos y pruebas de laboratorio. Cada estudiante deberá entregar los trabajos que se indiquen en las prácticas de la asignatura. Se requiere una nota mínima de 5.0 puntos en esta prueba para aprobar la asignatura.

Si se supera esta prueba, entonces la prueba pondera un 10% en la nota de la asignatura y, si no se alcanza este mínimo, entonces la calificación en la asignatura es la de esta prueba.

Si se suspenden ambas pruebas la calificación corresponde a realizar promedio como en el caso de aprobado.

Pruebas con carácter voluntario. A lo largo del cuatrimestre se podrán plantear una o varias pruebas voluntarias consistentes en la resolución de casos prácticos, ejercicios o problemas. El peso total será un extra de un 10% de la nota, únicamente en el caso de obtener una nota mínima de 5.0 sobre 10.

Segunda convocatoria. La evaluación de la asignatura se realiza en base a dos pruebas análogas a las de la primera convocatoria, con las mismas ponderaciones y exigencia de notas mínimas.

Escuela Universitaria Politécnica de Teruel

Examen escrito dividido en dos partes, una parte de teoría y cuestiones y la otra de programación en ensamblador

4. Metodología, actividades de aprendizaje, programa y recursos

4.1. Presentación metodológica general

El proceso de aprendizaje que se ha diseñado para esta asignatura se basa en lo siguiente:

La asignatura se asienta sobre clases presenciales al principio ya que el alumnado no dispone de conocimientos previos. Esta actividad irá acompañada del estudio teórico por parte de cada estudiante.

En grupos reducidos se establecerán sesiones de aprendizaje basado en problemas y/o aplicaciones de teoría y de sesiones prácticas en laboratorio. Será preciso trabajo autónomo de preparación de las actividades y entregas en las sesiones prácticas.

Complementario a la sesión de prácticas se realizará un trabajo tutorizado  de forma personalizada y de carácter eminentemente práctico, hacia el final de cuatrimestre. Este trabajo  será evaluado de forma independiente.

Así mismo se realizarán tutorías no académicas y podrían complementarse con otro tipo de actividades formativas voluntarias (seminarios, por ejemplo).

4.2. Actividades de aprendizaje

Las actividades de aprendizaje que ayudarán al alumno a lograr los objetivos previstos de la signatura son las siguientes:

  • Desarrollo del temario de la asignatura en las clases de teoría.
  • En las clases de problemas se trabajan con detalle los conceptos tratados en las clases de teoría.
  • Las clases de prácticas son sesiones de trabajo de programación en laboratorio, tuteladas por un profesor, en las que participan los alumnos en grupos reducidos.
  • Los alumnos también pueden asistir a tutorías personalizadas.

4.3. Programa

El programa a desarrollar en esta asignatura es:

  • Arquitectura del Procesador: Interpretación y traducción, lenguaje máquina y ensamblador, entorno de desarrollo, representación y codificación de la información, operaciones básicas, almacenes, modos de direccionamiento, repertorio de instrucciones, traducción de estructuras de datos y control de lenguajes de alto nivel.
  • Subrutinas: Llamadas a procedimiento. Bloque de activación. Caso práctico. Integración de código de alto nivel con código ensamblador y rutinas de biblioteca.
  • Subsistema de E/S: Modelo genérico de registros de controlador de dispositivo. Métodos básicos de sincronización y transferencia. Excepciones. Integración de periféricos en microcontroladores.

4.4. Planificación de las actividades de aprendizaje y calendario de fechas clave

Calendario de sesiones presenciales y presentación de trabajos

La organización docente de la asignatura es la siguiente.

  • Clases teóricas (2 horas semanales)
  • Clases de problemas (1 hora semanal)
  • Clases prácticas de laboratorio
    • Escuela de Ingeniería y Arquitectura de Zaragoza: 2 horas cada dos semanas
    • Escuela Universitaria Politécnica de Teruel: 1 hora a la semana
  • Tutorías y actividades de evaluación

Los horarios de todas las clases y las fechas de las sesiones de prácticas se anunciarán con suficiente antelación a través de las webs del centro y de la asignatura.

Trabajo del estudiante

La dedicación del estudiante para alcanzar los resultados de aprendizaje en esta asignatura se estima en 150 horas distribuidas del siguiente modo:

  • 56 horas, aproximadamente, de actividades presenciales (clases teóricas, de problemas y prácticas en laboratorio)
  • 51 horas de estudio personal efectivo (estudio de apuntes y textos, resolución de problemas, preparación clases y prácticas, desarrollo de programas)
  • 40 horas de trabajo de programación en equipo
  • 3 horas de examen final escrito


El calendario de exámenes y las fechas de entrega de trabajos de evaluación se anunciará con suficiente antelación.