Teaching Guides Query



Academic Year: 2024/25

615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision

69154 - Programming and Architecture of Computing Systems


Teaching Plan Information

Academic year:
2024/25
Subject:
69154 - Programming and Architecture of Computing Systems
Faculty / School:
110 - Escuela de Ingeniería y Arquitectura
Degree:
615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision
ECTS:
6.0
Year:
1
Semester:
First semester
Subject type:
Compulsory
Module:
---

1. General information

The main objective of the course is to provide students with knowledge about computer systems from hardware to software, with special emphasis on the most important aspects for robotics, graphics, and computer vision applications. Specifically, the different levels of abstraction will be studied including applications, libraries and runtimes, operating systems. Also, students will learn some knowledge on hardware design, including the differences between devices such as CPUs, GPUs, FPGAs, or ASIC accelerators. The course will present analytical models of the most relevant metrics in computing and how to use them for analyzing performance or energy consumption, among other fundamental aspects, as well. Another important objective is to train students to know how to efficiently use different programming models according to their needs and notions of parallelism and heterogeneous computing, in addition to knowing different program optimization techniques and analysis tools.

2. Learning results

Upon completion of the course, students must be able to:

  • Know the main characteristics of the different computing devices
  • Know the main programming models in heterogeneous systems
  • Evaluate the benefits of a computer system in terms of performance and energy
  • Understand computer solutions (hardware and software) for problems with requirements such high computation intensity, latency, power ...
  • Choose the most suitable device and programming model for different types of problems in vision, robotics, and graphics applications
  • Design conscious algorithms of computing devices, performance, and energy consumption

3. Syllabus

The course will cover the following topics:

  1. Computer Systems
    1. Main elements (Application, Libraries, Operating System, Hardware ...)
    2. Basic tools (compiler, debugger ...)
  2. General purpose processor architecture, graphic processors (rendering and computation), Programmable devices (FPGAs) and specific accelerators (ASICs)
  3. Efficiency analysis and metrics in heterogeneous systems (performance and energy)
  4. Efficiency oriented programming
  5. Heterogeneous programming models (CUDA, OpenCL ...) and High-Level Synthesis for FPGAs
  6. Domain Specific Languages for Computer Vision, Robotics, and Graphics

4. Academic activities

The course includes the following training activities:

  • Lectures, 30 hours
  • Problem solving and cases, 6 hours
  • Laboratory practices, 12 hours
  • Special practices, 2 hours
  • Practical application or research work, 40 hours
  • Personalized teacher-student tutoring, 5 hours
  • Study, 50 hours
  • Assessment tests, 5 hours

5. Assessment system

 

In accordance with the regulations of the University of Zaragoza, the evaluation of this subject is established in continuous and global modalities.

The continuous evaluation will be based on three tests:

P1. Theoretical-practical written tests (weighting 60%).
P2. Delivery of work and laboratory tests (weighting 30%).
P3. Presentations and debates (weighting 10%).

The students will be able to make regular deliveries of works and/or laboratory tests, requested by the teaching staff. In this case, if the student wishes, he/she may be exempted from the final laboratory test.

The global evaluation will be based on two tests:

P1. Theoretical-practical written tests (weighting 60%).
P2. Delivery of work and laboratory tests (weighting 40%).

Passing the course requires obtaining a grade equal to or higher than 5 out of 10 points in the weighted sum of the parts and a grade equal to or higher than 4.5 in each of the individual parts. Failure to meet any of the requirements will result in a maximum final grade lower or equal to 4.5. The grade of each of the parts can be kept for successive exams within the same academic year.

 

6. Sustainable Development Goals

7 - Affordable and Clean Energy
9 - Industry, Innovation and Infrastructure


Curso Académico: 2024/25

615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision

69154 - Programming and Architecture of Computing Systems


Información del Plan Docente

Año académico:
2024/25
Asignatura:
69154 - Programming and Architecture of Computing Systems
Centro académico:
110 - Escuela de Ingeniería y Arquitectura
Titulación:
615 - Máster Universitario en Robótica, Gráficos y Visión por Computador / Robotics, Graphics and Computer Vision
Créditos:
6.0
Curso:
1
Periodo de impartición:
Primer semestre
Clase de asignatura:
Obligatoria
Materia:
---

1. Información básica de la asignatura

El objetivo principal de la asignatura es dotar al alumnado de conocimientos acerca de sistemas informáticos desde el hardware hasta el software, haciendo especial énfasis en los aspectos más destacados para aplicaciones de robótica, gráficos y visión por computador. En concreto, se estudiarán los distintos niveles de abstracción incluyendo las aplicaciones, bibliotecas y runtimes, sistemas operativos, y algunas notas sobre diseño hardware, incluyendo las diferencias entre dispositivos como CPUs, GPUs, FPGAs, o aceleradores ASICs. También se presentarán modelos analíticos de las métricas más relevantes en computación y cómo se pueden utilizar para analizar el rendimiento o el consumo energético, entre otros aspectos fundamentales. Otro objetivo importante es capacitar a los alumnos para saber emplear de manera eficiente distintos modelos de programación de acuerdo a sus necesidades y de nociones de paralelismo y de computación heterogénea, además de conocer distintas técnicas de optimización software y hardware así como las herramientas de análisis requeridas.

2. Resultados de aprendizaje

Al completar la asignatura, el alumnado deberá ser capaz de:

  • Conocer las características principales de los distintos dispositivos de cómputo
  • Conocer los modelos principales de programación en sistemas heterogéneos
  • Evaluar las prestaciones de un sistema informático en términos de rendimiento y energía
  • Comprender soluciones informáticas (hardware y software) para problemas con grandes requerimientos de cómputo, latencia, energía, ...
  • Elegir el dispositivo y modelo de programación más adecuado para distintos tipos de problemas en aplicaciones de visión, robótica y gráficos
  • Diseñar algoritmos conscientes de los dispositivos de cómputo, del rendimiento y del consumo energético

3. Programa de la asignatura

El curso cubrirá los siguientes temas:

  1. Sistemas Informáticos
    • Elementos principales (Aplicación, Bibliotecas, Sistema Operativo, Hardware...)
    • Herramientas básicas (compilador, depurador...)
  2. Arquitectura de procesadores de propósito general, procesadores gráficos (rendering y cómputo), dispositivos programables (FPGAs) y aceleradores específicos (ASICs)
  3. Análisis y métricas de eficiencia en sistemas heterogéneos (rendimiento y energía)
  4. Programación orientada a la eficiencia
  5. Programación de sistemas heterogéneos (CUDA, OpenCL...) y síntesis de alto nivel para FPGAs
  6. Domain Specific Languages para Visión, Robótica y Gráficos

4. Actividades académicas

El curso incluye las siguientes actividades formativas:

  • Clase magistral, 30 horas
  • Resolución de problemas y casos, 6 horas
  • Prácticas de laboratorio, 12 horas
  • Prácticas especiales,  2 horas
  • Trabajos de aplicación o investigación prácticos, 40 horas
  • Tutela personalizada profesor-alumno, 5 horas
  • Estudio, 50 horas
  • Pruebas de evaluación, 5 horas

5. Sistema de evaluación

De acuerdo con la normativa de la Universidad de Zaragoza la evaluación de esta asignatura se establece para las modalidades continua y global.
 
La evaluación continua se realizará en base a tres pruebas:
 
P1. Pruebas escritas teórico-prácticas (ponderación 60%).
P2. Entrega de trabajos y pruebas de laboratorio (ponderación 30%).
P3. Presentaciones y debates (ponderación 10%)
 
El alumnado podrá realizar entregas regulares de trabajos y/o pruebas de laboratorio, solicitados por el profesorado. En este caso, si el alumno lo desea, podrá ser eximido de la prueba final de laboratorio.
 
La evaluación global se realizará en base a dos pruebas:
 
P1. Pruebas escritas teórico-prácticas (ponderación 60%).
P2. Entrega de trabajos y pruebas de laboratorio (ponderación 40%).
 
Superar la asignatura requiere obtener una calificación igual o mayor de 5 sobre 10 puntos en la suma ponderada de las partes y una calificación igual o mayor de 4.5 en cada una de las partes individuales. El incumplimiento de algún requisito supone una calificación final máxima menor o igual a 4.5. La nota de cada una de las partes se puede guardar para convocatorias sucesivas dentro del mismo año académico.

6. Objetivos de Desarrollo Sostenible

7 - Energía Asequible y No Contaminante
9 - Industria, Innovación e Infraestructura