Tema 0: Presentación de la Asignatura (Estructuras de Datos)
Resumen Ejecutivo
Esta asignatura es eminentemente práctica y se centra en el uso de Java para implementar y manipular estructuras de datos (lineales, jerárquicas y grafos). La evaluación es estricta: es imprescindible aprobar por separado tanto la evaluación continua como el examen final (que se realiza con ordenador). Se recomienda encarecidamente el uso del IDE Eclipse para seguir las clases y realizar el examen.
🗝️ Conceptos Clave
- Java Collections Framework (JCF): Librerías propias de Java que usaremos para implementar estructuras homólogas.
- Modelo 4P: Metodología que exige preparación previa (lectura/vídeo) para dedicar la clase a conceptos complejos y casos prácticos.
- Evaluación Dual: Sistema donde se debe obtener un \(\ge 5\) en el examen y un \(\ge 5\) en la evaluación continua de forma independiente.
- Laboratorio: Sesión práctica donde se inicia una actividad evaluable guiada por el profesor.
📘 Desarrollo del Temario y Organización
1. El Profesor y el Contexto
- Docente: Miguel Tejero Batanero, Ingeniero en Informática y Máster en Ciberseguridad, con experiencia profesional en INDRA e INTA.
- Enfoque Docente: Prefiere un trato cercano ("de tú a tú") y valora mucho la participación activa en el chat, ya que su experiencia principal es presencial.
2. Objetivos de Aprendizaje
El núcleo no es solo aprender Java, sino usarlo como herramienta para: 1. Desarrollar estructuras básicas y algoritmos (búsqueda, borrado, creación). 2. Utilizar las librerías estándar de Java (JCF). 3. Competencia crítica: Saber seleccionar la mejor estructura de datos para resolver un problema específico.
3. Metodología y Herramientas
- Entorno de Desarrollo: Aunque se pueden usar varios IDEs, el profesor utilizará Eclipse en las sesiones. Se recomienda usarlo para evitar problemas de compatibilidad en el examen, ya que solo se permitirán unas 3 o 4 herramientas específicas.
- Dinámica de Clase:
- Se asume que el estudiante ha leído el material y visto los vídeos antes.
-
Consejo del Profesor: "Es bastante importante que veáis las clases desde vuestro ordenador personal... para que podáis hacer los ejercicios conmigo a la vez".
- Tutorías/Talleres: Son sesiones voluntarias (no cuentan para asistencia) y grabadas. Si no hay dudas, el profesor llevará ejercicios preparados para resolverlos conjuntamente.
📅 Planificación del Temario (Bloques)
La asignatura se divide en 5 bloques principales distribuidos en 15 semanas:
- Contexto en Java (Semanas 1-3): Introducción a la programación, clases, métodos y Tipos Abstractos de Datos (TAD).
- Estructuras Lineales (Semanas 4-5): Listas, Pilas y Colas.
- Estructuras Jerárquicas (Semanas 6-9): Árboles (binarios, n-arios), Montículos y Colas de prioridad.
- Otras Estructuras (Semanas 10-11): Tablas Hash (muy importante entender la complejidad \(O(1)\)).
- Grafos (Semanas 12-15): Algoritmos y conceptos avanzados.
Nota sobre Grafos: Aunque suelen intimidar teóricamente, el profesor asegura que la parte práctica es asequible y se verá desde cero.
⚠️ Sistema de Evaluación (¡OJO AL DATO!)
La nota final se compone de Examen (60%) + Evaluación Continua (40%).
A. Evaluación Continua (Total 15 ptos -> escalado a 4 ptos finales)
Para aprobar esta parte necesitas \(\ge 5\) puntos sumando: 1. Tests: 1,0 puntos (10 tests de 0,1 cada uno). 2. Asistencia: 0,5 puntos (Asistir a un mínimo de 2 clases). 3. Actividades Prácticas (13,5 puntos): * Laboratorio (Pilas y Colas): 5 puntos. Entrega: 01/Dic/2025. * Individual (Árbol Binario - ABB): 5 puntos. Entrega: 12/Ene/2026. * Grupal (Grafos): 3,5 puntos. Entrega: 02/Feb/2026.
Sobre la Actividad Grupal: * Se recomienda hacerla para practicar, aunque si ya tienes un 10 en la continua con las otras actividades, no es obligatorio entregarla. * Los grupos se forman por preferencia en un foro o asignación aleatoria automática. * Existe un mecanismo de evaluación entre compañeros (si alguien no trabaja, se le baja la nota).
B. El Examen Final (60%)
- Formato: Práctico con ordenador (portátil propio o sobremesa en casa).
- Herramientas: Sin internet, sin apuntes, sin IA. Solo el IDE permitido (Eclipse u otro de la lista oficial).
- Condición de Aprobado: Imprescindible sacar \(\ge 5\) sobre 10.
🛑 Regla de Oro: El "Doble Aprobado"
Debes aprobar ambas partes por separado. * Ejemplo de Suspenso: Examen 10 + Evaluación Continua 4 = Suspenso (Vas a extraordinaria con la actividad). * Ejemplo de Suspenso: Examen 3 + Evaluación Continua 10 = Suspenso (Vas a extraordinaria con el examen).
🤖 Política sobre Inteligencia Artificial
El profesor es consciente del uso de IA, pero advierte: 1. El plagio total o detección de IA en actividades supone un suspenso. 2. Peligro de aprendizaje: Si la usas para que te haga el código, llegarás al examen (donde no hay IA) y suspenderás. Úsala solo para generar ejercicios extra o dudas puntuales, no para resolver la práctica.
❓ Preguntas de Autoevaluación
- ¿Cuál es la condición indispensable para aprobar la asignatura respecto a las dos partes de la nota (examen y continua)?
- Respuesta: Se debe obtener una nota igual o superior a 5 en ambas partes por separado. No hacen media si una está suspensa.
- ¿Qué entorno de desarrollo (IDE) utilizará el profesor en clase y se recomienda instalar?
- Respuesta: Eclipse.
- ¿Qué ocurre si tengo un 10 en las actividades y asistencia, pero saco un 3 en el examen final?
- Respuesta: La asignatura está suspensa. Deberás presentarte a la convocatoria extraordinaria solo con la parte del examen.
- ¿En qué se diferencian las sesiones de "Laboratorio" de una clase normal?
- Respuesta: En el laboratorio el profesor ayuda a iniciar la actividad evaluable en tiempo real, dando las herramientas para comenzarla, aunque el alumno debe terminarla por su cuenta.
- ¿Está permitido el uso de herramientas de autocompletado con IA (tipo Copilot) en el examen?
- Respuesta: No, están prohibidas y el entorno del examen estará capado para estas herramientas.