Programación II
Semestre 2011-1
José Luis Torres Rodríguez
Luis Enrique Serrano Gutiérrez
Requisitos
- Haber aprobado Programación I
- No tener materias encimadas
- Asistencia regular a clase
- Dedicar al menos una hora diaria a la materia, adicional a las clases
Objetivos- Conocer y comprender el concepto de "tipo de dato abstracto".
- Conocer los fundamentos relativos al concepto, implementación y aplicación de las estructuras de datos básicas: listas, pilas, colas, árboles, gráficas; así como de las operaciones asociadas a estas.
- Conocer, implementar y comparar distintos algoritmos de búsqueda y ordenamiento.
- Obtener conocimientos básicos de análisis de algoritmos, que le permitan al alumno verificar la complejidad de un algoritmo dado, bajo distintas condiciones.
Lenguaje de programación
Entorno de desarrollo- Code::Blocks
Code::Blocks es un Entorno de Desarrollo Integrado (IDE), para los lenguajes de programación C y C++. Cuenta con implementaciones para Linux, Windows y Mac OS. Soporta multiples compiladores, tales como GCC (MingW / GNU GCC), MSVC++, Borland C++ 5.5 y Open Watcom, entre otros. Code::Blocks puede obtenerse de forma gratuita, ya que es distribuido como "software libre", bajo la licencia GPL de GNU.
Página principal: http://www.codeblocks.org/
Página para descarga: http://www.codeblocks.org/downloads/5
Impartición de las clases
Las clases se llevarán a cabo de lunes a viernes, de 13:00 a 14:00 horas, en el salón O-222.
Se llevarán a cabo sesiones prácticas, de acuerdo a las tareas asignadas. Durante estas sesiones se revisará parte del material visto en clase, por lo que solamente se permitirá el acceso a quien asista con dicho material listo para su revisión. El espacio y los días en que se llevarán a cabo estas sesiones se indicarán más adelante.
Contenido del curso
- Repaso del lenguaje de programación C.
- Recursividad.
- Manejo de archivos.
- Revisión del concepto de "tipo de dato abstracto".
- Tipos de datos abstractos: definición, revisión e implementación.
Revisión de los siguientes tipos de datos abstractos y sus operadores, su implementación y ejemplos de aplicación: - Algoritmos de ordenamiento:
- Principios de análisis de algoritmos
- Complejidad computacional