Programación 3‎ > ‎

Programa

Contenidos

Fundamentación

Este curso continúa con la formación de aspectos de la programación. El alumno aprenderá a utilizar estructuras de accesos a los datos más complejas, eligiendo aquella más adecuada, en términos de tiempos de acceso y modificación de los datos.

Complementará su formación con el estudio de familias de algoritmos para resolver problemas tipo y aprenderá conceptos básicos de paralelismo y sincronización.

Objetivos
  • Que el alumno aprenda algoritmos y técnicas de resolución de problemas, y entienda el impacto en la complejidad computacional.
  • Que el alumno conozca y aprenda a manipular las Estructuras de datos básicas.
Contenidos mínimos

Estructuras de manejo de datos: listas, árboles, grafos, tablas de acceso rápido (dispersión), estructuras híbridas.

Servicios y consultas de datos sobre las estructuras: Altas -bajas - modificaciones.

Recursión. Nociones de Complejidad computacional.

Familias de problemas: Búsqueda exhaustiva, Greedy, algoritmos de ordenamiento.

Uso de Threads. Sincronismo. Acceso restringido.

Bliografía y Material de Referencia

- Apuntes y material publicado en este sitio por la cátedra.

- Introducción a lo Algoritmos - Cormen, Leiserson, Rivest.

- Estructura de Datos y Algoritmos - A. Aho, J. Ullman y J. Hopcroft

- Estructuras de datos en JAVA - M.A. Weiss

- Threads: https://docs.oracle.com/javase/tutorial/essential/concurrency/index.html

Comments