SILABO
1. ESPECIFICACIONES GENERALES:
2. SUMILLA
El paradigma de la programación orientada a objetos (POO). Conceptos básicos (objeto, clase,
encapsulación, polimorfismo, etc). Relaciones semánticas y jerárquicas, clases abstractas. La
importancia de la POO en la especificación y construcción de Patrones o plantillas, excepciones y
persistencia. Casos prácticos y su implementación en lenguajes como C++ y java.
3. OBJETIVO GENERAL
Proveer a los estudiantes los conceptos y técnicas de orientación a objetos (OO) que son fundamento
teórico práctico para la resolución de problemas y construcción de programas basado en el
paradigma de la OO. Ello le permitirá afrontar con éxito la solución de aplicaciones complejas
Además se cultivará las diferentes técnicas de re-uso y criterios de robustez en un programa,
considerando siempre que solucionar una aplicación debe ser vista como una obra de ingeniería.
4. OBJETIVOS ESPECIFICOS
Utilizar y aplicar correctamente la terminología y conceptos básicos de la POO.
Implementar y utilizar correctamente los mensajes como medio de comunicación de los objetos.
Diseñar, implementar y aplicar los conceptos sobre relaciones entre clases con el fin de modelar
aplicaciones del mundo real apoyándose en mecanismos de reutilización.
Manipular objetos de diferentes clases por medio de un mismo elemento y realizar la misma
operación de formas diferente basado en conceptos de polimorfismo.
Diseñar y aplicar clases y métodos que actúen sobre diferentes tipos de datos (genericidad).
Diseñar e implementar el uso de mecanismos para manejo de errores o excepciones y registro de
manera permanente del estado de un objeto usando conceptos de persistencia.
Alcanzar en el estudiante un grado de abstracción que le permita analizar, diseñar, discutir e
implementar soluciones a través de las herramientas usadas hoy en día en la POO.
5. CONTENIDO ANALÍTICO POR SEMANAS
1ra Semana: INTRODUCCIÓN.
Teoría
La POO como un nuevo paradigma, su diferencia con la programación estructurada y modular,
abstracción, ocultamiento de la implementación, reutilización y lenguajes orientados a objetos.
Ventajas y desventajas de la POO.
Práctica
Construcción de TAD y su manipulación en un enfoque estructurado a través de ejercicios prácticos,
ventajas y desventajas.
1
Laboratorio
Implementación de TAD.
[9] 1, 21,39; [10] 29, 581; [11] 328; [12] 19; [5] 43; [7] 490; [6] 43, 69; [2] 34; [3] 1; [1] 23
2
Laboratorio
Forma de Implementar y ejercicios sobre clases abstractas en Java
Proyecto: Planteamiento
[10] 505; [13]697
3
13va Semana: GUIs
Teoría
Conceptos, componentes, disposición, eventos
Practica
Implementación de GUI en java, AWT y SWING
Laboratorio
Implementación en Java
Teoría
Definición de Concurrencia,ejemplos de sistemas donde existe concurrencia, necesidad de la
programación concurrente, problemas típicos de la programación concurrente, Multiprogramación,
Multitarea, Multiprocesos, Sistemas Paralelos y Distribuidos.El Concepto de Hilos (Threads) ,
composición de Hilos, comunicación entre Hilos, sincronización entre Hilos, soluciones a problemas
de interbloqueo, ejemplos de uso de Hilos en Productor Consumidor, Semáforos.
Práctica
Diseño y construcción de Threads en Java.
Práctica Calificada Nº 4
Laboratorio
Implementación de la Threads y de uso de Hilos en Productor Consumidor,semáforos
6. METODOLOGÍA
El desarrollo del curso se realiza en base a sesiones teórico, práctico y laboratorio por parte del
profesor y un sistema de enseñanza y aprendizaje – investigación por parte de los alumnos. La
estructura del desarrollo del curso se asienta en una mixtura de métodos activos en la que la
participación de los alumnos les permite estar en permanente actividad mental. En ellas se producen
los estímulos necesarios, propiciando la motivación indispensable para la realización del aprendizaje.
Las sesiones de aula y laboratorio se complementarán con el desarrollo de trabajos prácticos en
grupo los cuales no podrán exceder el 10 % del total de alumnos inscritos en el curso.
7. EVALUACIÓN
En base a una consideración de evaluación formativa, el proceso de obtención de una calificación
aprobatoria dependerá del logro de los objetivos por parte del alumno. Esto implica:
4
8. BIBLIOGRAFÍA
Básica
[15]Deitel M. Harvey y Deitel J. Paul .(2008). Java Como Programar. Prentice Hall. Mexico D. F.
[1] Fco. Javier Ceballos. Java 2 Curso de Programación. Alfaomega Ra-Ma
[14]Budd. Timothy. Introducción a la Programación orientada a objetos. Addison - Wesley
Iberoamericana.
[9] Bertrand Meyer. Construcción de Software Orientado a Objetos. Prentice Hall, segunda edición
Complementaria
[3] Bruce Eckel. Piensa en Java. Prentice Hall Hispanoamericana S. A., 2002
[2] JhonZukowski. Java 2 J2SE 1.4. Anaya Multimedia 2003
[4] Luis Joyanes Aguilar. Programación en Java 2, Algoritmos Estructuras de Datos y Programación
Orientada a Objetos. Mc Graw Hill
[5] Mark Andrews. Aprenda Visual C++ Ya, McGraw-Hill, 1997
[6] Luis Joyanes Aguilar. Programación Orientada a Objetos, Segunda edición. McGraw-Hill
Interamericana De España S.A. U, 1998
[7] Chris H. Pappas, William H. Murray. Visual C++ 6.0 . McGraw - Hill Interamericana S.A.U.
1999
[8] Kent Reisdorph. Aprendiendo Borland C++ Builder 3 en 21 Días. Prentice Hall Hispanoamericana
S. A. 1998
[10] Andrew C. Staugaard, Jr. Técnicas Estructuradas y Orientadas a Objetos. Prentice Hall
Hispanoamericana S.A. 1998.
[11] Grady Booch. Análisis y Diseño Orientado a Objetos. Addison Wesley Iberoamericana S.A., segunda
edición, 1996
[12] James Rumbaugh, Michael Blaha, William Premerlani, Frederick Hedí y William Lorenson.
Modelado y Diseño Orientado a Objetos, Metodología OMT. Prentice Hall, 1996.
[13] Herbert Schildt. Turbo C/C++ Manual de Referencia, una información completa ideal para todo
usuario de Turbo C/C++. Osborne/ McGraw-Hill, 1999