Imprimir

Programa

CURSO              :       PROGRAMACION AVANZADA
TRADUCCION         :       ADVANCED COMPUTER PROGRAMMING
SIGLA              :       IIC2233
CRÉDITOS           :       10
MÓDULOS            :       03
REQUISITOS         :       IIC1103
CARÁCTER           :       MINIMO
DISCIPLINA         :       INGENIERIA


I.   DESCRIPCION

     Este curso ense?a tecnicas para el dise?ar, codificar, probar y evaluar programas que resuelven problemas
     algoritmicos a partir de las especificaciones detalladas. En particular, el curso ense?a algunas construcciones
     avanzadas de programacion orientada a objetos no incluidas en el curso introductorio, algunas estructuras de
     datos fundamentales, dise?o basico de algoritmos y tecnicas de analisis. Los estudiantes deben usar una serie
     de herramientas de programacion para desarrollar sus programas.


II.  OBJETIVOS

     Al finalizar el curso el alumno sera capaz de:

     1.     Descomponer problemas grandes para dise?ar y estructurar sus soluciones.
     2.     Crear "buenos" dise?os orientados a objetos para problemas simples y comunicar estos dise?os a
            traves de documentacion externa y comentarios en el codigo.
     3.     Aplicar conceptos de orientacion a objetos (herencia, polimorfismo, interfaces) y estructuras de datos
            fundamentales (listas ligadas, stacks, colas, arboles binarios y tablas de hash), para dise?ar y escribir
            programas complejos en lenguajes tales como Java y C#.
     4.     Escribir programas basados en modelos de programacion particulares; por ejemplo, programacion de
            multiples hebras y programacion dirigida por eventos.
     5.     Usar herramientas de programacion comunes (debuggers, profilers, linkers, y sistemas de control de
            versiones); tecnicas de programacion (bibliotecas de programacion orientada a objetos y pruebas
            unitarias); y un entorno de desarrollo de software para editar, compilar, y depurar programas.
     6.     Construir desde cero una aplicacion con una interfaz grafica de usuario significativa y totalmente
            funcional.


III. CONTENIDOS

     1.     Introduccion a C#: Aspectos basicos del framework .NET y elementos nuevos del lenguaje.
     2.     Elementos avanzados de OOP: Elementos avanzados de los lenguajes orientados a objetos que facilitan
            la modelacion y programacion; en especial, herencia y polimorfismo.
     3.     El framework .NET: Aspectos avanzados que abren nuevas posibilidades en la programacion.
     4.     Programacion multithread: Como funciona la CPU y como aprovechar mejor su funcionamiento.
     5.     Programacion dirigida por eventos (winforms): Herramientas para realizar programas con interfaz
            grafica de usuario utilizando el modelo del framework .NET.
     6.     Patrones: Soluciones predefinidas a problemas comunes en programacion utilizando los elementos
            avanzados de orientacion a objetos.
     7.     Vuelta a Java: Como realizar todo lo aprendido, pero ahora utilizando Java.


IV.  METODOLOGIA

     Modulos semanales:
     -      Catedras: 2
     -      Ayudantias: 1


                                   PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
                                      FACULTAD DE INGENIERIA / Mayo de 2009
                                                                                                                    1

    El curso se realiza utilizando metodologias de ense?anza centradas en el alumno que permitan a los
    estudiantes desarrollar las competencias definidas en los objetivos del curso.
    Este curso esta dise?ado de forma tal que el alumno dedique al estudio personal un promedio de 6 hrs. a la
    semana.


V.  EVALUACION

    Las evaluaciones pueden ser por medio de pruebas, proyectos y/o tareas.


VI. BIBLIOGRAFIA

    Textos Minimos

    Sierra, Kathy and Bates, Bert             Head First Java, 2nd Edition. Paperback, Feb 9, 2005.

    Bloch, Joshua                             Effective Java, 2nd Edition. Java Series, Paperback, May 28, 2008.




                                  PONTIFICIA UNIVERSIDAD CATOLICA DE CHILE
                                    FACULTAD DE INGENIERIA / Mayo de 2009
                                                                                                               2