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:
El objetivo de la asignatura es presentar algunos métodos numéricos haciendo especial énfasis en su aplicación en contextos de interés. Se plantean problemas actuales que aparecen en las aplicaciones (motores de búsqueda en la web, algoritmo PageRank de Google, extracción de información, entre otros) y a partir de ellos se estudian técnicas numéricas de resolución efectiva de esos problemas.
El curso tiene un enfoque eminentemente práctico, siendo una parte fundamental las clases del laboratorio (con Matlab), que suponen más de la mitad de la docencia.
La evaluación se basará en los proyectos y tareas presentadas (en grupos de uno o dos alumnos) durante el curso y en un examen individual.
Haber superado Algorítmica Numérica, conocimientos de MATLAB.
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 45.
Juan Robles Santamarta: jrobles@fi.upm.es
The main objective of this course is to prepare students for a B2 level in the TOIEC exam, with emphasis on listening and reading skills.
Students seeking to obtain the B2 level are strongly encouraged to register in this course, as this is the required minimum level to enroll in the compulsory course "English for Professiona and Academic Communication".
All students at Universidad Politécnica de Madrid have the chance to take the TOEIC exam (listening and reading skills) under the SAI (Sistema de Acreditación Interna) scheme, to obtain a certificate of this level, should they need it.
The course book will be announced to the students at the beginning of the course.
Esta asignatura tiene un sistema propio de preinscripción para garantizar que acceden estudiantes que todavía no tienen un nivel B2 de inglés. El formulario de preinscripción (enlace disponible a partir del 2 de julio) estará abierto hasta el miércoles 10 de julio por la noche. Para acceder a este formulario hay que hacerlo desde la cuenta @alumnos.upm.es ligada a Office 365.
Jelena Bobkina: jelena.bobkina@upm.es
(Diseño con microcontroladores corresponde a la segunda parte de "Informática industrial", asignatura optativa que desaparece como tal a partir de el curso 24/25).
Esta 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 y controlar 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.
Para el desarrollo de las prácticas, se usará como plataforma de desarrollo un sistema Arduino Leonardo, que está basado en el microcontrolador AVR32U4. Todo el software que se debe implementar en las prácticas actuará sobre el microcontrolador directamente, salvo en algunas excepciones en que se podrá usar librerías del sistema Arduino ya desarrolladas.
Todas las prácticas consisten en desarrollar un pequeño sistema, completo y autónomo que podría de formar parte de miles de sistemas industriales que funcionan diariamente en el mundo real; por ejemplo, el sistema de posicionamiento de una cámara autónoma mediante servomotores; el control de la velocidad de un coche eléctrico mediante motores de corriente continua; el posicionamiento preciso y continuo de un telescopio astronómico, también mediante motores de corriente continua, para fotografiar galaxias situadas a años luz de la tierra; el mantenimiento de una temperatura objetivo mediante el control de la potencia de un sistema de aire acondicionado o de calefacción alimentado mediante corriente alterna; etc.
La asignatura constará de 60 horas de clase, aproximadamente, de las que un tercio serán clases teórico-prácticas y dos tercios serán talleres dirigidos o supervisados por los profesores de la asignatura para el desarrollo de las prácticas.
Nota: Durante estos cursos sólo se pudieron realizar dos o tres talleres, frente a los más de 15 que están previstos en la nueva asignatura.
"La asignatura de Diseño con microcontroladores ofrece una oportunidad única en la carrera de llevar a cabo un proyecto con utildad en el mundo real. Además de aprender y profundizar en conceptos técnicos fundamentales y a la orden del día en industria (robótica, sector aeroespacial, sector energético, automovilístico...), se aprende independencia y creatividad. Tu software ya no sólo maneja datos abstractos, sino que mediante sensores y actuadores vas a poder interactuar con el mundo físico. Tendrás que aprender cómo se comunican estos módulos con el microcontrolador, cómo gestionar eventos en tiempo real cuando cuentas con bajos recursos, y cómo se representa la realidad de forma digital.
Durante el curso de esta asignatura tendrás que desarrollar independencia e inventiva. A lo largo del desarrollo del proyecto vas a tener que aprender a encontrar recursos por tu cuenta y ser autodidacta, pero saldrás de la asignatura habiendo desarrollado un proyecto completo de utilidad real y con la confianza de que eres capaz de implementar por tu cuenta estos sistemas que interactuan con el mundo real.
Si eres una persona creativa con ganas de crecer como desarrollador/a de software, y te interesa entender algo más sobre hardware, esta asignatura es para ti."
"Es una asignatura que probablemente les resulte interesante a aquellos estudiantes que tienen interés en la programación de bajo nivel. La práctica consiste en realizar un proyecto con una placa Arduino, pero no se hace uso de librerías, teniendo que escribir todo el código desde cero, por lo que si te apuntas a esta asignatura vas a pasar bastante tiempo leyendo manuales e investigando como funcionan todos los registros y otros elementos del microcontrolador. Es por este motivo por lo que tal vez se puede hacer una asignatura un tanto pesada, pero si te han gustado prácticas como las de Estructura y Arquitectura de Computadores lo más probable es que este proyecto también te llame la atención.
El proyecto en sí requiere de mucho tiempo, como mencionado anteriormente, hay que leer mucha documentación para saber cómo empezar y suele ser muy frustrante hacer pruebas, ya que a veces no es solo el código lo que falla, sino los componentes en sí, pero es muy satisfactorio lograr hacer que todo funcione al final."
Haber superado las siguientes asignaturas:
Experiencia en programación en lenguaje C.
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 30.
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.
Es recomendable haber aprobado Cálculo y Álgebra Lineal.
Miguel Reyes (mreyes@fi.upm.es o miguel.reyes@upm.es).
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 64.
En esta asignatura se estudiaran los algoritmos en más detalle que en las asignaturas obligatorias del grado. Prestaremos especial atención a cómo comparar diferentes algoritmos, midiendo su tiempo de ejecución o consumo de memoria. Asimismo introduciremos nociones abstractas de complejidad y tratabilidad con las que aprenderemos a reconocer problemas especialmente complicados de tratar algorítmicamente. Una gran parte de la asignatura consistirá en presentar técnicas útiles para el diseño de algoritmos eficientes.
Uno de los cometidos de esta asignatura es animaros y prepararos para participar en concursos de programación, tales como el ACM ICPC o el Ada Byron. En concreto, usaremos algunos problemas de ediciones recientes como retos o para ilustrar algunas de las técnicas y conceptos presentados.
El enfoque orientado a la resolución de problemas permite mejorar significativamente las habilidades relacionadas con el desarrollo de programas, desde el análisis y planteamiento del problema hasta la implementación y la eventual depuración de errores. Así mismo, permite aplicar los conocimientos teóricos porque la resolución de algunos problemas se basa en la aplicación de los algoritmos vistos en la parte teórica. En las clases prácticas los equipos serán aleatorios, los alumnos no pondrán escoger a sus compañeros. Esta forma de asignación de equipos permite mejorar competencias de trabajo en equipo y, en cierta manera, aumentar las habilidades relacionadas con el desarrollo de programas porque los alumnos también aprenden unos de otros.
Se recomienda tener buenas notas en las asignaturas de programación de la carrera, en particular, en Programación I, Programación II y AED.
Tener interés en programación y algorítmica en general y en concursos de programación especialmente.
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 64.
Santiago Tapia: stapia@fi.upm.es
La asignatura "Fundamentos de Videojuegos" tiene como objetivo proporcionar a los estudiantes una comprensión integral de los conceptos y principios clave que sustentan el diseño, desarrollo, análisis y validación de videojuegos desde la perspectiva de la Ingeniería del Software. Los contenidos de la asignatura incluyen como temas centrales el diseño y desarrollo de videojuegos a través de la narrativa, las mecánicas de juego, la interacción y la usabilidad.
De forma complementaria, se introduce en la historia de los videojuegos, su estética y perspectiva cultural, la aplicación de técnicas de IA y el uso de videojuegos en contextos no lúdicos, ciencia e investigación.
La asignatura incluye la realización de un proyecto en grupo que consiste en la propuesta por parte de los alumnos de desarrollar su primer videojuego.
Esta asignatura busca proporcionar una base sólida para que los estudiantes puedan comprender y participar en el campo de los productos interactivos (industria o ciencia), ya sea desde la perspectiva del diseño, la programación, o la crítica.
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 54.
Jose María Barambones Ramíez: j.barambones@fi.upm.es
En esta asignatura se imparten los siguientes contenidos:
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 64.
Alfonso Mateos Caballero: amateos@fi.upm.es
Este curso introduce los fundamentos de las técnicas de programación para dispositivos móviles, más concretamente al desarrollo básico de Android. Los estudiantes aprenderán cómo diseñar e implementar aplicaciones móviles siguiendo las buenas prácticas de diseño de interfaces de usuario y cómo los sistemas de interfaz de usuario se integran con el sistema operativo móvil.
El curso se centrará en la creación de prototipos y el desarrollo de interfaces gráficas de usuario (GUI) simples utilizando herramientas de desarrollo rápido, como editores de diseño de interfaz gráfica de usuario combinados con código simple para crear interfaces funcionales.
El curso se enfoca en practicar las habilidades necesarias para el desarrollo de interfaces de usuario que se implementarán en la plataforma móvil Android.
Concretamente, los alumnos aprenderán a utilizar las tecnologías de las aplicaciones móviles:
Asignaturas previas:
Otros conocimientos recomendados:
Esta asignatura participa en el sistema piloto de preinscripción de optativas. Cupo de preinscripción: 56.
Raúl Alonso Calvo: ralonso@fi.upm.es