Programación Avanzada

  • Objetivo

    Enseñar al alumno conceptos y técnicas avanzadas programación centrando la atención en el paradigma de programación orientada a objetos, concurrencia y el modelo cliente-servidor. Los conceptos se muestran con el lenguaje de modelado unificado UML.

  • Temas

    1. Conceptos de programación orientada a objetos.

    2. Objetivo: Enseñar los conceptos básicos de programación orientada a objetos.

      Clases. Objetos. Herencia. Relaciones de uso. Generadores. Iteradores. Manejo de excepciones. Paquetes (módulos). Interfaces.

    3. Concurrencia y distribución.

    4. Objetivo: Enseñar los conceptos básicos de concurrencia sincronización, í como los de distribución de objetos en red.

      Hilos de control (threads). Sincronización. Tipos de datos para la concurrencia. Conexión a servidores. Invocación a métodos remotos. Arquitectura cliente servidor.

    5. Programación de aplicaciones Web.

    6. Objetivo: Enseñar cómo diseñar y programar una apliciación en interneutilizando la arquitectura MVC, el lenguaje de programación Java y acceso a base de datos.

      La arquitectura MVC (Model-View-Controller). Servlets y JSPs. Conexión a bases de datos.

  • Bibliografía

    • Booch, G., Maksimchuk, R. A., Engel, M. W., Young, B. J., Conallen, J., and Houston, K. A.
      Object-Oriented Analysis and Design with Applications.
      The Addison-Wesley Object Technology Series. Addison-Wesley, 3rd edition, 2007.
    • Booch, G., Rumbaugh, J., and Jacobson, I.
      Unified Modeling Language User Guide.
      Addison-Wesley Object Technology Series. Addison-Wesley, 2nd edition, 2005.
    • Horstmann, C. S. and Cornell, G.
      Core Java 2: Vol II Advanced Features.
      Pearson Prentice Hall. 2005.
    • Kernigan, B. and Plauger, P. J.
      The elements of programming style.
      Computing Mac Graw Hill, second edition. 1978.
    • Robinson, J. A.
      Software design for engineers and scientists.
      Newnes. 2004.
    • Smith, M.
      Java: an Object-Oriented Language.
      Mac Graw Hill. 2000.