Ir al contenido

Inicio
ETSIINF en Twitter ETSIINF en Facebook
Inicio > Estudios > Grado en Ingeniería Informática > Optativas 5º semestre

Asignaturas optativas de 5º semestre (curso 2020-21)

En esta página se recoge información descriptiva de las asignaturas optativas de 5º semestre del Grado en Ingeniería Informática, recogidas en orden alfabético:

Aplicaciones numéricas de la informática (3 ECTS)

Descripción

El curso cubre una introducción a los fundamentos matemáticos, los modelos y los métodos numéricos aplicados a la simulación computacional de los siguientes problemas:

  1. Posicionamiento GPS (sistema de posicionamiento global).
  2. Algoritmo PageRank de Google, como motor de búsqueda en la Web.

El curso tiene un enfoque eminentemente práctico, siendo una parte fundamental las clases del laboratorio (usando Matlab), que suponen más de la mitad de la docencia.

La evaluación se basará en el trabajo y tareas presentadas (en grupos de uno o dos alumnos) durante el curso y en un examen individual.

Google matrix of Cambridge University network

Requisitos recomendados

Haber superado Algorítmica Numérica, conocimientos de MATLAB.

Profesor de contacto

Juan Robles Santamarta: jrobles@fi.upm.es

Building up communication skills (3 ECTS) - no ofertada

Descripción (asignatura impartida en inglés)

En el curso 2020/21 no se oferta esta asignatura optativa

Ecuaciones diferenciales: métodos y modelos (6 ECTS)

Descripción

Una gran mayoría de los problemas que surgen en los distintos ámbitos científicos y técnicos se modelizan mediante una ecuación o sistema de ecuaciones diferenciales, por lo que es fundamental que cualquier ingeniero haya cursado al menos un semestre de esta materia.

Se estudiarán los métodos más elementales para resolver ecuaciones diferenciales ordinarias de 1er orden, así como lineales de orden superior y sistemas de ecuaciones diferenciales lineales, enmarcando todo ello en el contexto de las aplicaciones, que son las que motivaran la mayoría de los problemas.

El curso tiene un enfoque eminentemente práctico, con clases prácticas de modelización y resolución de problemas aplicados, y clases de laboratorio (usando Maple) que supondrán una parte importante de la docencia y de los exámenes.

Requisitos recomedados

Es recomendable haber aprobado Cálculo y Álgebra Lineal.

Profesor de contacto

Miguel Reyes (mreyes@fi.upm.es o miguel.reyes@upm.es).

Informática industrial (6 ECTS)

Descripción

Informática industrial está dividida en dos partes independientes que cubren diversos aspectos de la aplicación de la informática en la industria: el diseño de circuitos electrónicos específicos integrados en FPGAs y el diseño de sistemas empotrados basados en microcontroladores.

Diseño para síntesis desde alto nivel

El diseño desde alto nivel es un proceso automático que transforma una descripción algorítmica de un problema en un hardware digital específico. Esta parte de la asignatura está centrada en la realización de modelos VHDL orientados hacia síntesis, la utilización y análisis de herramientas comerciales para síntesis, la evaluación de prestaciones de los diseños y su implementación sobre lógica configurable.

Diseño para síntesis desde alto nivel comienza dando una descripción de las tendencias tecnologías de implementación de sistemas digitales basadas en lógica configurable, de las metodologías de diseño orientadas hacia la realización de modelos a nivel de sistema, y de las estrategias para hacer modelos reusables. A continuación se presenta la herramienta de síntesis para lógica configurable Quartus II, con la que se realizan modelos VHDL reusables de tipo combinacional, memoria y FSM, que posteriormente se integraran en un sistema con ruta de datos y control.

Esquema de diseño para síntesis de alto nivel

Diseño con microcontroladores

Esta parte de la asignatura tiene un doble propósito: por un lado, profundizar en el conocimiento del funcionamiento de los computadores, específicamente, del sistema de entrada/salida y su interacción con el software; por otro lado, servir como introducción al diseño de sistemas basados en microcontroladores. La dedicación fundamental de los alumnos a esta parte de la asignatura es el desarrollo, de forma autónoma, de un sistema basado en una placa Arduino (un microcontrolador AVR) a elegir entre varios propuestos por la asignatura; opcionalmente, se podrá desarrollar un sistema propuesto por los alumnos. En todo caso, se deberá conectar todos los componentes del sistema con el microcontrolador, se deberá configurar los módulos de entrada/salida involucrados, se deberá programar en lenguaje C las rutinas de tratamiento de las interrupciones que se generen, y se deberá programar el diálogo con los usuarios del sistema y todas las funciones necesarias para su correcto funcionamiento de acuerdo con su especificación. Durante las clases se explicarán los módulos de entrada/salida y los periféricos más usuales en los sistemas de control, su configuración y algunos ejemplos de cómo usarlos.

Proyecto con Arduino

Requisitos recomedados

Haber superado las siguientes asignaturas:

Experiencia en programación en lenguaje C.

Profesores de contacto

Más información

Investigación Operativa (6 ECTS)

Descripción

En esta asignatura se imparten los siguientes contenidos:

Requisitos recomedados

Profesor de contacto

Alfonso Mateos Caballero: amateos@fi.upm.es

Middleware (3 ECTS)

Descripción

Esta asignatura forma al alumno en el desarrollo de aplicaciones software distribuidas en Java, haciendo uso de diferentes "Middlewares" o capas intermedias entre el sistema subyacente y las propias aplicaciones, ocultando la complejidad y heterogeneidad de los sistemas distribuidos y simplificando lo máximo posible el trabajo de los desarrolladores. Con este objetivo, se abarcan tanto middlewares clásicos basados en componentes distribuidos, que permiten comprender qué implica disponer de estas tecnologías, como middlewares más actuales como los basados en mensajes.

Las prácticas de la asignatura se desarrollan simulando una metodología ágil de desarrollo, para que los alumnos aprendan a utilizar algunas de las herramientas más utilizadas en el desarrollo empresarial a día de hoy. En concreto, se utiliza GitLab como herramientas de gestión de proyecto, control de código fuente e integración continua.

Sistemas que usan Middleware

Requisitos recomedados

Se recomienda tener conocimientos de Programación Orientada a Objetos en Java así como la materia impartida en la asignatura de Redes de Computadores.

Profesor de contacto

Guillermo Vigueras González: guillermo.vigueras@upm.es

Optimización Heurística (3 ECTS)

Descripción

La optimización heurística permite la resolución de problemas complejos mediante técnicas no exactas que serían inabordables en un tiempo de cómputo razonable mediante métodos exactos. Sus aplicaciones van desde los problemas de ajustes de parámetros de modelos de simulación a problemas de logística y planificación.

En esta asignatura se hará una introducción a estas técnicas, partiendo de la definición de problema de optimización y heurística y continuando con métodos de optimización clásicos (Simulated Annealing, Tabu Search) y bio-inspirados (Algoritmos genéticos, Evolución diferencial, Inteligencia de enjambre, etc.).

Aprenderemos a usar bibliotecas que ya existen para la resolución de problemas de optimización mediante estas técnicas y también implementaremos algunos de estos algoritmos desde cero.

Cadenas de ADN

Requisitos recomedados

Haber superado las asignaturas de programación del grado y tener ciertos conocimientos de programación en Python.

Profesor de contacto

Antonio LaTorre de la Fuente: atorre@fi.upm.es

Programming Project (3 ECTS)

Descripción (asignatura impartida en inglés)

En el curso 2020/21 no se oferta esta asignatura optativa.

The Art of Programming (3 ECTS)

Descripción (asignatura impartida en inglés)

The design of algorithms is a core theme in both computer science and software engineering. The task of designing correct and efficient algorithms for real-world problems is often hampered by a limited knowledge of algorithm design patterns. In this course we will introduce several such algorithm design techniques, e.g., divide-and-conquer, greedy algorithms, dynamic programming, backtracking, and heuristics in general. The course has a strong focus on practical problem solving, thus, students will be required to apply the aforementioned techniques to solve programming problems on weekly basis. A strong knowledge of data structures and interest in programming in general is a must.

Requisitos recomedados

It is strongly recommended that you have passed the courses Programación I y II y Algoritmos y Estructuras de Datos (AED).

Profesor de contacto

Clara Benac: cbenac@fi.upm.es