PROGRAMACIN AVANZADA
Departamento de Ciencia de la Computacin
Escuela de Ingeniera
Pontificia Universidad Catlica de Chile
Programa
Sigla:
Nombre del curso:
Crditos:
Mdulos docentes:
Profesor:
Ayudantes Jefe:
Semestre:
IIC2233
Programacin Avanzada
10
Martes y Jueves (2):10:30 11:20 hrs.
Karim Pichara Baksai
Christian Pieringer Baeza
Beln Saldas
Patricio Lpez
Jaime Castro
Bastin Mavrakis
Marco Bucchi
2015-2
DESCRIPCIN
Este curso ensea tcnicas para disear, implementar, ejecutar y evaluar herramientas de software
que resuelven problemas algortmicos a partir de especificaciones detalladas. En particular, el curso
ensea construcciones avanzadas de programacin orientada a objetos, estructuras de datos
fundamentales, diseo bsico de algoritmos y tcnicas de anlisis.
OBJETIVOS
1. Descomponer problemas grandes para disear y estructurar sus soluciones.
2. Crear diseos orientados a objetos para problemas simples y comunicar estos diseos a travs de
documentacin externa y comentarios en el cdigo.
3. Aplicar conceptos de orientacin a objetos (herencia, polimorfismo, interfaces) y estructuras de
datos fundamentales (listas ligadas, stacks, colas, rboles binarios y tablas de hash), para disear
y escribir programas complejos en el lenguaje de programacin Python, pudiendo extender este
conocimiento a distintos lenguajes.
4. Usar herramientas de programacin comunes (debuggers y sistemas de control de versiones)
tcnicas de programacin (bibliotecas de programacin orientada a objetos y pruebas
unitarias) y un entorno de desarrollo de software para editar, compilar, y depurar programas.
5. Generar software desde cero, con cdigo de alto nivel, de fcil re-utilizacin, actualizacin y
mantenimiento. Incluyendo interfaces grficas significativas, totalmente funcionales.
CONTENIDO
1. Programacin Orientada a Objetos
1.1
1.2
1.3
1.4
Objetos
Herencia
Herencia mltiple
Propiedades
2. Estructuras de Datos
2.1
2.2
2.3
2.4
2.5
rboles
Diccionarios
Colas
Stacks
Sets
3.1
3.2
3.3
3.4
3.5
3.6
3.7
3.8
3.9
4. Meta Clases
5. Clases Abstractas
6. Simulacin
7. Manejo de Excepciones
8. Testing
10. I/O
10.1
10.2
10.3
10.4
11. Threading
12. Networking
13. WebServices
Bytes
Serializacin
Audio
Imagen
METODOLOGA
Mdulos semanales:
Ctedra: 2
Ayudanta/Laboratorio: 1
El curso se realiza utilizando metodologas de enseanza tericas-prcticas centradas en el alumno
que permitan a los estudiantes desarrollar las competencias definidas en los objetivos del curso,
tanto en ctedras como en ayudantas. Este curso est diseado de forma tal que el alumno
dedique al estudio personal un promedio de 6 hrs. a la semana.
EVALUACIN
Las evaluaciones sern efectuadas por medio de actividades prcticas en clases, controles,
tareas, 2 Interrogaciones y un examen. La nota final del curso (NF) se calcular como:
= 0.2 + 0.2 + 0.3 + 0.2 + 0.1
Donde I es el promedio de las interrogaciones, E es la nota del Examen, T es el promedio de las
tareas, AC es el promedio de las actividades en clases y C es el promedio de los controles.
FECHAS INTERROGACIONES
Interrogacin 1: lunes 21 de Septiembre, 18:30 hrs.
Interrogacin 2: viernes 13 de Noviembre, 18:30 hrs.
Examen: jueves 3 de Diciembre