Actualmente, a miña docencia na Escola de Enxeñaría de Telecomunicación repártese en 3 materias:

Programación I

Materia de 1º curso do Grao en Enxeñaría de Tecnoloxías de Telecomunicación

O obxectivo principal de esta materia é o desenvolvemento de capacidades de programación nunha linguaxe de alto nivel. O paradigma de programación que se segue é o de programación estruturada.

  • Expresar a solución dun problema sinxelo mediante algoritmos, utilizando deseño descendente.
  • Identificar os datos necesarios para resolver un problema e asocialos aos tipos correspondentes en función das súas características (tamaño, rango, operadores que actúan sobre eles).

  • Codificar algoritmos sinxelos a partir do tres tipos básicos de sentenzas: asignación, selección e iteración.

  • Declarar e definir funcións facendo un uso adecuado do paso de parámetros.

  • Manexar as operacións de entrada/saída e operar con ficheiros.

  • Definir e utilizar tipos de datos estruturados.

  • Definir e xestionar estruturas de datos dinámicas (listas, pilas, colas e árbores).

  • Crear e utilizar módulos e funcións de biblioteca dentro dun programa.

  • Predicir o resultado dunha secuencia de sentenzas básicas, coñecidos os datos de entrada.

  • Manexar ferramentas básicas para o desenvolvemento de programas: editor de textos, compilador, enlazador, depurador e ferramentas para a documentación.

  • Desenvolver proxectos software de pequena envergadura seguindo todas as fases: análise de requisitos, deseño, construción, avaliación e documentación.
  1. O algoritmo e as linguaxes de programación (3h)
  2. A gramática e os elementos básicos de programación (3.5h)
  3. Instruccións de decisión e de iteración (3.5h)
  4. Arrays e cadeas de caracteres (4h)
  5. Funcións (2h)
  6. Punteiros (4h)
  7. Ficheiros (1.5h)
  8. Variables tipo struct (2h)
  9. Listas (3h)

Instagram
Tiktok
YouTube
X
LinkedIn

Deseño de Sistemas Integrados

Materia de 4º curso do Grao en Enxeñaría de Tecnoloxías de Telecomunicación

Os sistemas integrados ou encaixados (“embedded systems” en inglés) forman parte de case tódalas actividades do noso día a día que involucran o uso dun dispositivo electrónico (o espertador, o móbil, o coche…). Neste curso preséntanse os conceptos principais que están detrás dun sistema integrado moderno que conta con un sistema operativo, e lévanse á práctica a través dunha serie de exercicios e proxectos

  • Coñecer a base tecnolóxica sobre a que se apoian as investigacións máis recentes no estudo e deseño de sistemas integrados.

  • Comprender os aspectos básicos das especiais esixencias que expoñen os sistemas integrados con fortes restricións de tempo real

  • Adoptar unha visión xeral do problema da programación en contornas que teñen restricións de tempo real, e coñecer as ferramentas adecuadas para tratalos, de maneira que poida afrontar os sistemas encaixados cun enfoque a nivel de sistema

  • Entender os elementos básicos da prevención e a tolerancia de fallos

  • Dominar os conceptos relativos á organización do software deste tipo de sistemas

  • Manexar con soltura as técnicas de planificación dos procesos e do uso de recursos en sistemas integrados

  • Estar familiarizado co uso das plataformas de abstracción para o desenvolvemento de sistemas integrados
  1. Concepto de sistema integrado
  2. Sistemas operativos para sistemas integrados
  3. Arquitecturas de sistemas integrados
  4. Planificación de procesos
  5. Fiabilidade e tolerancia a fallos
  6. Sistemas integrados distribuídos
  7. Plataformas de abstracción para o desenvolvemento de sistemas integrados
  8. Comunicación con sensores e actuadores.

Computación Distribuída

Materia de 2º curso do Máster Universitario en Enxeñaría de Telecomunicación

Esta materia proporcionará unha visión de conxunto das tecnoloxías máis habituais dentro da computación distribuída. Abordaranse temas tales como as transaccións distribuídas e a replicación; a computación grid, na nube, e cluster; a intelixencia artificial distribuída; e a computación paralela e evolutiva.

  • Adquirir habilidades no deseño, desenvolvemento e xestión de sistemas distribuídos.

  • Comprender as bases funcionais dos sistemas distribuídos.

  • Coñecer os distintos conceptos relacionados coa computación distribuída: clustering, grids, computación na nube e computación ubicua.

  • Adquirir habilidades para a aplicación de sistemas intelixentes na computación distribuída.
  • Aprender a distribuír a execución de tarefas para a resolución de problemas e optimización mediante computación evolutiva e paralela.
  1. Intelixencia artificial distribuída
  2. Computación paralela e evolutiva
  3. Transaccións
  4. Replicación
  5. Diseño de Sistemas Distribuidos