Responsable: | (-) |
Otros: | (-) |
Créditos | Dept. | Tipo | Requisitos |
---|---|---|---|
7.5 (6.0 ECTS) | CS |
|
P1
- Prerequisito para la ETIS PRAP - Prerequisito para la ETIS |
Responsable: | (-) |
Otros: | (-) |
Proporcionar al estudiante la capacidad de diseñar, implementar y evaluar estructuras de datos, así como la capacidad de diseñar, implementar y evaluar algoritmos sobre estas estructuras.
Horas estimadas de:
T | P | L | Alt | L Ext. | Est | O. Ext. |
Teoria | Problemas | Laboratorio | Otras actividades | Laboratorio externo | Estudio | Otras horas fuera del horario fijado |
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
6,0 | 6,0 | 3,0 | 0 | 3,0 | 12,0 | 0 | 30,0 | |||
Repaso del concepto de secuencia. Listas con punto de interés. Pilas y colas. Implementación en vector y por listas enlazadas de estructuras lineales. Iteradores.
|
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
2,0 | 2,0 | 1,0 | 0 | 1,0 | 4,0 | 0 | 10,0 | |||
Repaso del concepto de árbol. Propiedades básicas. Recorridos en preorden, en postorden, en inorden, por niveles. Implementación de árboles con vector de apuntadores a los hijos. Implementación de árboles con apuntadores primogénito-siguiente_hermano.
|
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
8,0 | 8,0 | 4,0 | 0 | 4,0 | 16,0 | 0 | 40,0 | |||
Noción de diccionario. Técnicas de implementación de diccionarios sencillos. Técnicas de implementación avanzadas. Árboles binarios de búsqueda. Árboles binarios de búsqueda balanceados. Tablas de dispersión. Algoritmos de ordenación: quicksort, mergesort, heapsort.
|
|
T | P | L | Alt | L Ext. | Est | O. Ext. | Total | ||
---|---|---|---|---|---|---|---|---|---|---|
8,0 | 8,0 | 8,0 | 0 | 8,0 | 16,0 | 0 | 48,0 | |||
Repaso del concepto de tipo abstracto de datos (TAD). Clases, métodos, objetos. Constructores, destructores, asignación y constructor por copia. Implementación de TADs mediante clases. Herencia. Jerarquía de clases. Clases abstractas. Polimorfismo. Vinculación dinámica. Genericidad. Clases y métodos parametrizados. Instanciación.
|
Total por tipo | T | P | L | Alt | L Ext. | Est | O. Ext. | Total |
28,0 | 28,0 | 16,0 | 0 | 16,0 | 56,0 | 0 | 144,0 | |
Horas adicionales dedicadas a la evaluación | 4,0 | |||||||
Total horas de trabajo para el estudiante | 148,0 |
Se pretende exponer el temario de forma muy práctica, a través de la presentación de numerosos ejemplos.
Las clases se dividen en tres tipos: sesiones de teoría, sesiones de problemas y sesiones de laboratorio. Por lo general, las clases de teoría se distribuyen en dos horas semanales, las de problemas en dos horas semanales y las de laboratorio en una hora semanal. El profesor adaptará la repartición de estas clases de la mejor forma posible, dependiendo del temario.
Las sesiones de teoría son clases de tipo magistral, donde el profesor aporta a los estudiantes conceptos nuevos o técnicas nuevas, así como ejemplos seleccionados que los motiven o los ilustren.
Las clases de problemas tienen como objetivo desarrollar una serie de ejercicios o casos de estudio. El profesor es quien propone los problemas que se deben resolver. Para el que hace los ejercicios, su finalidad es la presentación y discusión de soluciones a enunciados relativamente simples que involucren unos pocos conocimientos teóricos o unas pocas técnicas. En general, se trata de ejercicios escogidos con tal de ilustrar conceptos que se han presentado en las sesiones de teoría más recientes. Con respecto a los casos de estudio, los problemas propuestos tienen una complejidad más grande que la de los ejercicios y, además, involucran diferentes conceptos teóricos que hace falta combinar para obtener una buena solución.
Las clases de laboratorio tienen como objetivo implementar soluciones a una serie de ejercicios prácticos. El profesor es quien propone los ejercicios prácticos que se deben resolver. Los estudiantes resolverán los ejercicios propuestos con la supervisión personalizada del profesor.
Se evaluará tanto el seguimiento de la asignatura, a través de pruebas de evaluación continua (P), como la realización de un examen final (F) que cubre todo el temario de la asignatura y la realización de prácticas de laboratorio (L).
La nota final de la asignatura se calculará con la fórmula:
0.3*L + 0.7*max(F, 0.6*F + 0.4*P)
Dominio de las técnicas de programación imperativa. Conocimiento de al menos un lenguaje de programación imperativo y/o orientado a objetos. Recursividad. Conocimientos básicos de matemática discreta. Capacidad para seguir razonamientos matemáticos y formales. Algunos conocimientos elementales de estadística y probabilidad.