Última actualización: 19/04/2023


Curso Académico: 2023/2024

Diseño de sistemas telemáticos
(19089)
Grado en Ingeniería Robótica (Plan: 478 - Estudio: 381)


Coordinador/a: ESTEVEZ AYRES, IRIA MANUELA

Departamento asignado a la asignatura: Departamento de Ingeniería Telemática

Tipo: Obligatoria
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación. Estructura de datos y algoritmos.
Objetivos
El objetivo de este curso es la adquisición de los fundamentos básicos relativos al campo de la concurrencia y paralelismo, así como la familiarización por parte del estudiante con los conceptos básicos de comunicaciones en sistemas distribuidos.
Competencias y resultados del aprendizaje
Descripción de contenidos: Programa
1. Introducción a los sistemas distribuidos, telemática y robótica. 2. Hilos y concurrencia. 3. Procesos y comunicación entre procesos (IPC). 4. Sockets. Interfaces del protocolo de control de transmisión/protocolo de Internet (TCP/IP) y del protocolo de datagramas de usuario/protocolo de Internet (UDP/IP). 5. Modelos de comunicación: comunicación multicast y broadcast, comunicación cliente-servidor, comunicación peer-to-peer, modelos híbridos de interacción. 6. Diseño de un sistema distribuido con lenguajes de scripting: estructuras básicas de datos, algoritmos, protocolos de codificación y comunicación.
Actividades formativas, metodología a utilizar y régimen de tutorías
CLASES TEÓRICAS. Presentación por parte del profesorado de los principales conceptos a modo de resumen. Se fomentan en este tipo de sesiones tanto la interacción como la discusión de los principales problemas planteados. CLASES DE EJERCICIOS PRÁCTICOS. Sesiones en las que se plantean problemas y se permite al alumnado su análisis así como el planteamiento de posibles soluciones. LABORATORIOS DE PROGRAMACIÓN. Se describe una funcionalidad basada en los conceptos teóricos cubiertos tanto en las sesiones magistrales como de problemas y, con la supervisión del profesorado, se procede a su implementación. Estas sesiones suponen un trabajo adicional del alumnado durante un período de varios días en los que tiene la posibilidad de, por varios canales, consultar sus dudas conceptuales con el profesorado. TUTORÍAS. Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor.
Sistema de evaluación
  • Peso porcentual del Examen Final 40
  • Peso porcentual del resto de la evaluación 60
Calendario de Evaluación Continua
Bibliografía básica
  • David M. Beazley, Brian K Jones. Python cookbook. O'Reilly Media Inc. . 2013
  • Eric Chou. Mastering Python Networking : Utilize Python Packages and Frameworks for Network Automation, Monitoring, Cloud, and Management.. Packt Publishing. 2023
  • Sam Washington, M. O. Faruque Sarker. Learning Python Network Programming. Packt Publishing. 2015
Bibliografía complementaria
  • Alex Martelli, Anna Ravenscroft, Steve Holden. Python in a Nutshell: A Desktop Quick Reference. O'Reilly Media, Incorporated. 2017
  • Elliot Forbes. Learning concurrency in Python: speed up your Python code with clean, readable, and advanced concurrency techniques. PACKT Publishing . 2017
  • Quan Nguyen. Mastering Concurrency in Python: Create Faster Programs Using Concurrency, Asynchronous, Multithreading, and Parallel Programming. Packt Publishing, Limited. 2018

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.