Programación II
Semestre 2010-2
José Luis Torres Rodríguez
Luis Enrique Serrano Gutiérrez
Requisitos
- Haber aprobado Programación I
- No tener materias encimadas
- Asistencia regular a clase
- Tener una cuenta de correo @ciencias.unam.mx (http://mail.ciencias.unam.mx)
- 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 14:00 a 15:00 horas, con la asistencia del titular o el ayudante, en el Aula de Enseñanza de Matemáticas del edificio Tlahuizcalpan.
Se determinarán 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.
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
- Análisis del peor caso
- Notación "O"
- Complejidad computacional
- Ejemplos
Evaluación del semestre