Está en la página 1de 5

Universidad Nacional Autónoma de Honduras

Facultad de Ingeniería
Ingeniería en Sistemas
Silabo de Algoritmos y Estructuras de Datos (IS-310)

Asignatura IS-310: Algoritmos y Estructuras de Datos

Unidades valorativas 4 unidades

Días de clase Sábados de 13:00 a 16:15

Docente José Enrique Ávila (jeavila@unah.edu.hn)

Plataforma Campus Virtual UNAH: https://campusvirtual.unah.edu.hn/

Mensajería Slack

Lenguaje principal Java

IDE Eclipse: https://www.eclipse.org/

Libro texto • Estructuras de Datos en Java.


Luis Joyanes Aguilar, Ignacio Zahonero Martínez.

Libros complementarios • Algorithms (Fourth edition).


Robert Sedwick, Kevin Wayne
• Estructuras de Datos y Algoritmos.
Aho Alfred, Hopcroft John, Ullman Jeffrey.
• Estructuras de Datos y Diseño de Programas.
Robert L. Kruse.

Documentación en línea • https://visualgo.net/es


• https://www.javaworld.com/article/3215112/learn-
java/java-101-datastructures-and-algorithms-in-java-
part-1.html
• http://www.vogella.com/tutorials/algorithms.html
• https://docs.oracle.com/javase/tutorial/collections/alg
orithms/
• https://www.youtube.com/watch?v=f5OD9CKrZEw

Blog https://iscodigo.wordpress.com

Repositorio de Código https://github.com/UNAH-SISTEMAS/2019-1PAC-IS310

Calendario Google Calendar


Objetivos

Objetivo General
Desarrollar una introducción al diseño de algoritmos y al manejo de estructuras de datos.
Esto es, presentar, analizar y aplicar conceptos, metodologías y técnicas básicas, asociadas a
la construcción de algoritmos eficaces (que resuelvan los problemas de acuerdo a los
requerimientos que se han especificado), y eficientes, (que lo resuelvan de la mejor forma
posible atento a criterios de comparación como usos de recursos de memoria o tiempo de
proceso).

En cuanto a las estructuras de datos, se desarrolla bajo el enfoque del tratamiento de


información con vinculaciones sencillas (tablas, listas), que en general se consideran como
estructuras básicas, que se aplican en la resolución de una amplia variedad de problemas y
además sirven de base para estructuras de datos más complejas, como las bases de datos
que se estudiarán en asignaturas siguientes.

Objetivos Específicos
• Proveer el alumno de las técnicas algorítmicas básicas que le permitirán abordar el
desarrollo de programas correctos y eficientes para resolver problemas no triviales.
Las técnicas básicas mencionadas incluyen conocimientos teóricos y prácticos,
habilidades, experiencias y sentido crítico, todas ellas fundamentadas en teorías y
técnicas sólidas, comprobadas y bien establecidas.

• Utilizar la memoria dinámica y las estructuras de datos enlazadas, que están en la


base de muchas aplicaciones.
• Introducir herramientas de diseño de algoritmos y la ingeniería algorítmica como
selección de las estructuras de datos y de las técnicas algorítmicas más adecuadas
para la resolución de un problema concreto.
• Introducir en las técnicas de medición de efectividad de un algoritmo, sus
dependencias y proceso de optimización de estos.
Temario

Primera Unidad (Capítulos 1, 8, 9, 10)


• Tipos de datos
• Algoritmos y Programas
• Eficiencia y Exactitud
• Notación O-grande
• Tipos de datos abstractos: Lista, Pila y Cola.

Segunda Unidad (Capítulos 13, 14, 15, 16)


• Recursión
• Arboles
• Arboles binarios de búsqueda
• Arboles de montículo
• Arboles de Huffman
• Grafos dirigidos
• Grafos no dirigidos
• Algoritmos de Prim y Kruskal

Tercera Unidad (Capítulos 5, 6, 7, 12, Otras lecturas)


• Dispersión abierta y cerrada
• Tiempo de ejecución de un algoritmo
• Algoritmos de Ordenamiento
• Algoritmos divide y vencerás
• Back tracking, algoritmos de vuelta atrás
• Selección óptima
• Problemas de tiempo polinomial
• Problemas no poligonales
• Problemas NP-Completos
• Reducción y transformaciones
Evaluación Puntaje

Examen Primera Unidad 20

Examen Segunda Unidad 20

Examen Tercera Unidad 20

Tareas 15

Proyecto Final * 25

* Es importante que el grupo esté presente en la evaluación del proyecto, debido a la


realización de preguntas dentro del proceso.

Reglas de la clase

1. Comportamiento en el aula
1.1. Evite el uso de las instalaciones para labores que no sean de la clase.
1.2. Debe firmarse la asistencia diaria, en caso de que se tengan el 25% de inasistencias
en lo que corresponde a una unidad se pierde el derecho a examen. Si falla en dos
ocasiones se determina el abandono de la clase.
1.3. La asistencia se pasa una hora después del inicio de la clase.
2. Entrega de Trabajos
2.1. Evite el plagio y copia en trabajos, tareas y exámenes. Esto será penado con la
anulación de la actividad para los alumnos involucrados.
2.2. Las tareas y exámenes se entregarán en la vía indicada en cada caso.
2.3. Las tareas y proyectos deben entregarse a más tardar la fecha y hora solicitada.
Después de la hora tiene un máximo 24 horas para una entrega tardía; el puntaje
será valorado en el 50% de la puntuación original. Posterior a las 24 horas de gracia
no se tendrá ningún puntaje.
2.4. En el caso de trabajos que sean establecidos por un lapso mayor a una semana, no
se aceptará ninguna excusa por problemas en las entregas tardías.
3. Reposiciones
3.1. Reposición Ordinaria
3.1.1.La reposición ordinaria se establece para mejorar la nota más baja de los tres
exámenes. En caso de que la reposición no mejore dicha nota, se deja la
original.
3.1.2.La reposición se realizará con el contenido de la unidad que tenga mayor
afluencia de alumnos.
3.2. Reposición Extraordinaria
3.2.1.En casos laborales (cambio de horario) debe indicarse previo al inicio de las
actividades.
3.2.2.Solo si la excusa es documentada.
4. Excusas
4.1. La documentación que se presente para una excusa debe ser oficial. Es decir: firma
de una autoridad, sello y papel membretado de la institución que la emite.