ESTRUCTURA DE DATOS Y ALGORITMOS II

ESTRUCTURA DE DATOS Y ALGORITMOS II

GRADO EN INGENIERÍA INFORMÁTICA

1. Datos de la asignatura

(Fecha última modificación: 25-07-17 9:37)
Código
101116
Plan
ECTS
6.00
Carácter
OBLIGATORIA
Curso
2
Periodicidad
Segundo Semestre
Área
LENGUAJES Y SISTEMAS INFORMÁTICOS
Departamento
Informática y Automática
Plataforma Virtual

Campus Virtual de la Universidad de Salamanca

Datos del profesorado

Profesor
María José Polo Martín
Grupo/s
A y B (Teoría),PB1,PB2
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Centro
Fac. Ciencias
Despacho
F3019
Horario de tutorías

cita previa a través de correo electrónico

URL Web
http://diaweb.usal.es/diaweb/personas/mjpolo
E-mail
mjpolo@usal.es
Teléfono
923294500, Ext. 6080
Profesor
Susana Alvarez Rosado
Grupo/s
PA1
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Centro
Fac. Ciencias
Despacho
D1515
Horario de tutorías

Consultar WEB personal

URL Web
http://diaweb.usal.es/diaweb/personas/sar
E-mail
sar@usal.es
Teléfono
923294500 ext.1309
Profesor
Ángel Luis Labajo Izquierdo
Grupo/s
PA2, PA3
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Centro
Fac. Ciencias
Despacho
E4000, Atico E, 3º planta.
Horario de tutorías

Jueves de 18 a 20 h.

URL Web
http://diaweb.usal.es/diaweb/personas/alabajo
E-mail
alabajo@usal.es
Teléfono
923294500 ext. 6076
Profesor
Iván Alvarez Navia
Grupo/s
PB3
Departamento
Informática y Automática
Área
Lenguajes y Sistemas Informáticos
Centro
Fac. Ciencias
Despacho
F3021
Horario de tutorías

Jueves y viernes de 9:00 a 12:00 h

URL Web
http://diaweb.usal.es/diaweb/personas/inavia
E-mail
inavia@usal.es
Teléfono
666599090, Ext. 6078

2. Sentido de la materia en el plan de estudios

Bloque formativo al que pertenece la materia.

Materia“Programación”, que consta de las siguientes asignaturas:

Programación I

Programación II

Programación III

Estructuras de Datos y Algoritmos I

Estructuras de Datos y Algoritmos II

Informática Teórica

Programación Avanzada

Procesadores de Lenguaje (optativa)

Animación Digital (optativa)

Desarrollo  de Aplicaciones Avanzadas(optativa)

Papel de la asignatura.

Esta asignatura es obligatoria de segundo semestre de segundo curso. Es continuación natural de la asignatura Estructuras de Datosy Algoritmos I, y la complementaprofundizando en el uso de TAD más complejos, como árboles y grafos. Además concluye con un tema de técnicas de diseño de algoritmos avanzados en los que se utiliza de forma intensiva los TAD estudiados  en los primeros temas.

Perfil profesional.

Se trata de una asignatura de carácter básico, sirve como fundamento para el desarrollo de otras de la titulaión y constituye una parte fundamental para cualquier perfil profesional de un ingeniero en informática

3. Recomendaciones previas

Se  recomienda  no  cursar  Estructuras  de Datos y Algoritmos II  sin aprobar previamente  y  Estructuras de Datos y Algoritmos I.

4. Objetivo de la asignatura

Generales:

Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de unagran versatilidad para adaptarsea nuevas situaciones.

Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas.

Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad.

Específicas:

Determinar la complejidad en tiempo y espacio de diferentes algoritmos y equilibrar los requisitos contrapuestos de eficiencia y costes en la implementación

Analizar, especificar e implementar estructuras de datos, tanto lineales como no lineales, desde la perspectiva de losTAD para la resolución de problemas utilizando la más apropiada, en función de los recursos necesarios. Diseñar e implementar soluciones algorítmicas utilizando esquemas avanzados

5. Contenidos

Teoría.

Tema 1. Árboles Generales y Binarios

  1. Definiciones y conceptos básicos
  2. Nivel de representación o implementación
  3. Recorridos en Árboles Binarios

Tema  2. Árboles Binarios de Búsqueda

  1. Nivel abstracto o de definición
  2. Nivel de representación
  3. Árboles Balanceados

Tema  3. Montículos Binarios. Colas de Prioridad

  1. Introducción
  2. Nivel abstracto o de definición
  3. Nivel de representación
  4. Ordenación por Montículos

Tema   4. Conjuntos Disjuntos. Estructura de Partición

  1. Relación de Equivalencia
  2. Nivel abstracto o de definición
  3. Nivel  de Representación
  4. Compresión de caminos

Tema 5. Grafos

  1. Nivel abstracto o de definición
  2. Nivel  de  Representación
  3. Recorridos en grafos
  4. Ordenación topológica
  5. Algoritmos de Caminos de Coste Mínimo
  6. Árbol de expansión de coste mínimo

Tema 6. Memoria Secundaria

  1. Organización de archivos
  2. Clasificación externa
  3. Organización de índices

6. Competencias a adquirir

Básicas / Generales.

CG3 - Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución deproblemaspropiosdela ingeniería.

CG5 - Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución deproblemaspropiosde la ingeniería.

Específicas.

CE6 -  Conocimiento  y aplicación de   los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos.

CE7 - Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.

CE8- Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.

CECO3 - Capacidad para evaluar la complejidad computacional de un problema, conocer estrategias algorítmicas que puedan conducir a su resolución y recomendar, desarrollar e implementar aquella que garantice el mejor rendimiento de acuerdo con los requisitos establecidos.

CECO5 - Capacidad para adquirir, obtener, formalizar y representar el conocimiento humano en una forma computable para la resolución de problemas mediante un sistema informático en cualquier ámbito de aplicación, particularmente los relacionados con aspectos de computación, percepción y actuación en ambienteso entornos inteligentes.

Transversales.

CT1 - Conocimientos generales básicos

CT3 - Capacidad de análisis y síntesis

CT9 - Resolución de problemas

CT12-Trabajo en equipo

CT16 - Capacidad de aplicar los conocimientos en la practica

CT21 - Habilidad  para trabajar de forma autónoma  y cumplir plazos

7. Metodologías

Las actividades formativas que se proponen para esta materia son las siguientes:

Actividades presenciales:

  • Lección magistral: exposición de teoría y resolución de problemas
  • Realización de prácticas guiadas en laboratorio
  • Seminarios tutelados para grupos pequeños con exposición de trabajos
  • Sesiones de tutorías, seguimiento y evaluación, individuales o en grupo
  • Exposición de trabajos y pruebas de evaluación

Actividades no presenciales:

  • Estudio autónomo por parte del estudiante
  • Revisión bibliográfica y búsqueda de información
  • Realización de trabajos, prácticas libres, informes de prácticas…

 

8. Previsión de Técnicas (Estrategias) Docentes

9. Recursos

Libros de consulta para el alumno.

  • Brassard, G. y Bratley, P.(1997).  Fundamentos De Algoritmia. Prentice-Hall.
  • Kruse, R. (1984).  Estructuras De Datos Y Diseño De Programas. Prentice Hall.
  • Cairó, O. y Guardati Buemo, S. (1993).  Estructuras De Datos. McGraw-Hill.
  • Weiss, M. (1995).  Estructuras De Datos YAlgoritmos. Addison-Wesley.
  • Langsam, Y.etal.(1997). EstructurasDeDatosConCYC.2ºedición.PrenticeHall.
  • Brassard, G. y Bratley, P.(1997).  Fundamentos De Algoritmia. Prentice-Hall.
  • Aho, A. et al. (1988). Estructuras De Datos Y Algoritmos .Addison-Wesley.
  • Wirth, N.(1987). Algoritmos Y Estructuras DeDatos.Adisson-Wesley.
  • Weiss,M.(1995). Estructuras DeDatos Algoritmos.Addison-Wesley.
  • Folk, M. y Zoellick, B. Estructuras De Archivos. Addison-Wesley.
  • Loomis, M. (1991). Estructuras De Datos Y Organización De Archivos. Prentice Hall.

Otras referencias bibliográficas, electrónicas o cualquier otro tipo de recurso.

Todas las presentaciones, guiones de prácticas y demás documentos relacionados con la asignatura se encuentran en la plataforma Studium. Recursos de interés En http://raed.usal.es se puede descargar la aplicación RAED Representación de Algoritmos de estructuras de datos. Se trata de una herramienta didáctica desarrollada como proyecto fin de carrera que permite, a través de ejemplos y sus representaciones gráficas, el estudio y la comprensión de la mayoría de los algoritmos que se presentan en la asignatura.

10. Evaluación

Consideraciones generales.

La evaluación de la asignatura se realizará en base a dos tipos de actividades. Por un lado la realización de un conjunto de pruebas, pequeños controles y entregas de prácticas, que constituye la evaluación continua. Y por otro lado, la realización de un examen con cuestiones teóricas y prácticas que permita evaluar  el  conjunto  de  conocimientos y competencias adquiridas.

Criterios de evaluación.

Para la evaluación de la asignatura se aplicará la siguiente ponderación en la valoración de las actividades de evaluación:

  • Actividades deevaluación continua:                                  30%
  • Realización deexámenes deteoría oproblemas:                 70%

La nota final de las asignaturas se obtendrá de forma ponderada a través de las notas finales conseguidas en los apartados anteriores. En el examen final se exigirá alcanzar una calificación mínima del 40% sobre el peso total de esa prueba para poder superar la asignatura.

Instrumentos de evaluación.

  • Pruebas Escritas: se realizarán cuando se haya impartido una cantidad razonable de materia y consistirán en la resolución de algún ejercicio así como alguna pregunta de carácter teórico. Se pretende evaluar el esfuerzo diario del estudiante en la comprensión y asimilación de los contenidos básicos. Pueden realizarse en sesiones de teoría, de prácticas o en el horario reservado para la realización de pruebas de evaluación continua
  • Entregas de prácticas: Consiste en la implementación de uno o varios ejercicios prácticos en aula de informática. Se pretende hacer un seguimiento del trabajo realizado por el estudiante en las sesiones prácticas y horas de trabajo autónomo asociadas a dichas sesiones. El estudiante podrá ser convocado para explicar los métodos utilizados y su resolución. En su caso, esta defensa del trabajo presentado formará parte de la calificación del trabajo.
  • Cada una de ellas no superará en conjunto el 10% de la calificación final correspondiente a Evaluación Continua
  • Examen final: se compondrá de una serie de cuestiones teóricas y prácticas. Será necesario superar el 40% de la valoración del examen para poder aprobar la asignatura.

 

Recomendaciones para la evaluación.

La asistencia a clase y el trabajo autónomo del estudiante son fundamentales para poder superar satisfactoriamente las actividades de evaluación continua, y poder enfrentarse con éxito al examen final.

Recomendaciones para la recuperación.

Se realizará un examen de recuperación (2ª convocatoria), para aquellos casos en los que, tras el primer examen final (1ª convocatoria), no se ha logrado la superación de la asignatura.

Los criterios de evaluación en la 2ª convocatoria son los mismos que en la primera (30% evaluación continua+70% examen final), por lo que el examen de recuperación solo permite recuperar en el 70% correspondiente al examen final. Las actividades de evaluación continua no son recuperables.

En ningún caso se mantendrán notas parciales para cursos posteriores.

11. Organización docente semanal