PROGRAMACIÓN ORIENTADA A OBJETOS - Curso 2005/2006
[Objetivos][Teoría][Prácticas][Evaluación ][Bibliografía][Otros enlaces][Convocatoria examen]

Última modificación: 14 de septiembre de 2006

TITULACIÓN

014 - Ingeniero Técnico en Informática de Gestión 

015 - Ingeniero Técnico en Informática de Sistemas

140 - Ingeniero en Informática

CRÉDITOS 6 (3T+ 3P)  OBLIGATORIA
TEORÍA

ITIS - Aulario Norte, Aula A. 02:       Martes, 9:00 a 11:00

II    - Aulario Norte, Aula A. 01:       Miércoles, 10:00 a 12:00 

ITIG - Aulario Norte, Aula A. 04 bis: Jueves, 9:00 a 11:00

PRÁCTICAS ITIS - Facultad de Informática, Laboratorio 1/3: 
  • Martes       18:30 a 20:30      (profesor responsable: Marcos Menárguez)

  • Miércoles  18:30 a 20:30       (profesor responsable: Begoña Moros)

ITIG - Facultad de Informática, Laboratorio 1/5:  (profesor responsable: Marcos Menárguez)

  • Lunes        16:30 a 18:30

  • Miércoles  16:30 a 18:30

II - Facultad de Informática, Laboratorio 1/3:

  • Martes      16:30 a 18:30

  • Miércoles 16:30 a 18:30

  • Jueves     16:30 a 18:30

Capacidad 20 grupos por sesión.

TUTORÍAS DURANTE EL SEGUNDO CUATRIMESTRE:
  • Martes:       10:30 - 13:30       
  • Jueves:      10:30 - 13:30

OBJETIVOS.

Esta asignatura introduce al alumno en el paradigma de programación orientado a objetos, OO. Los objetivos de la enseñanza teórica son:

La asignatura está basada en la visión del método OO ofrecida por B. Meyer en el libro "Construcción de Software Orientado a Objetos", 2ª edición, contrastada en todo momento con el uso de los conceptos que se planteen en varios lenguajes de programación (C++ y Java).

Como trabajo práctico el alumno deberá desarrollar una pequeña aplicación, con el objeto de adquirir destreza en el manejo de un lenguaje OO y de su entorno. Se utilizará Java como lenguaje de implementación.

Por tanto, la asignatura proporciona al alumno conocimientos suficientes para abordar el estudio de cualquier lenguaje OO, metodología de análisis y diseño OO, de los sistemas gestores de bases de datos OO, y en general de cualquier materia basada en el modelo orientado a objetos.

PROGRAMA TEÓRICO. 

                           - ejercicios propuestos tema1

 

            Bibliografía:

                            *Capítulos 1,3,4,5,6 de [Meyer, 99]

             - ejercicios propuestos tema2

 

Bibliografía:

     *Capítulos 7, 8, 13.2 y 23.4  de [Meyer, 99]

 

Bibliografía complementaria:

 

      * Bracha, G. "Generics in the Java Programming Language". 2004.

      * Venners, B. y Eckel, B. "Generics in C#, Java and C++". A conversation with Anders Hejls, Part VII. 2004.

                           - ejercicios propuestos tema3

            Bibliografía:

                            *Capítulos 11, 12 y 23.6 de [Meyer, 99]

            

         Bibliografía complementaria:

 

                   *"Building bug-free OO software: An introduction to Design by Contract"                

                    *  Eckel, B. "Thinking in Java. 3rd edition. Revision 2.0". Ver la sección "Using Assertions for Design by Contract" en el capítulo 15.

                    *  Pal, G.  and  Bansal, S. "Exceptions in Java: Nothing exceptional about them". JavaWorld. August 2000.

                    *  Rogers, P.. "J2SE 1.4 premieres Java's assertion capabilities". JavaWorld. November 2001.

                    *  Sintes, T.. "Exceptions: Don't get thrown for a loss. Catch the differences between checked and runtime exceptions". JavaWorld. February 2002.

                   *  Sun. "Runtime Exceptions--The Controversy". The Java Tutorial.

                   *  Venners, B.. "Designing with exceptions. Guidelines and tips on when and how to use exceptions". JavaWorld. July 1998.

      

                          - ejercicios propuestos tema4

 

            Bibliografía:

                         *Capítulos 14 , 16 (1,4,5,8), 17 (1,.2)  y  24.(6,9)  de [Meyer, 99]

 

                            - ejercicios propuestos tema5

PRÁCTICAS

      [TEORÍA][EJERCICIOS][EJEMPLO][SOFTWARE][LIBROS][NOTAS]

** TEORIA Y EJERCICIOS DEL SEMINARIO DE JAVA**

** Instrucciones para dejar los proyectos en SUMA **

1- Entrar en la asignatura en la sección de Contenidos

2- Vuestro disco está en  "Administrar mis contenidos"

3- Para subir el proyecto debéis comprimir la carpeta del proyecto JBuilder  (zip) y subir este fichero. Una vez en SUMA lo descomprimís y borráis el zip.

 

Contenido Ejercicios propuestos Fecha de entrega
Seminario 0: Primer programa en Java. El entorno JBuilder.

----

----
Seminario 1: Clases y Objetos      

entrega1.1

ITI Sistemas e Ingeniero en Informática: 17 de octubre

ITI Gestión: 20 de octubre

entrega1.2

ITI Sistemas e Ingeniero en Informática: 24 de octubre

ITI Gestión: 27 de octubre

Seminario 2: Manejo de cadenas

 

                    y Entrada/Salida       

entrega2.1*

ITI Sistemas e Ingeniero en Informática: 31 de octubre

ITI Gestión: 3 de noviembre

entrega2.2

ITI Sistemas e Ingeniero en Informática: 14 de noviembre

ITI Gestión: 17 de noviembre

Seminario 3: Herencia. Clases abstractas.

                    Clase Object. Genericidad   

entrega3.1

ITI Sistemas e Ingeniero en Informática: 5 de diciembre

ITI Gestión: 12 de diciembre

entrega3.2

Seminario 4: Interfaces                  

Seminario 5: Colecciones        
Seminario 6: Hilos y Reflexión entrega4

 

 20 de enero hasta las 14:00 horas

ENUNCIADOS DE PRÁCTICAS PARA LAS CONVOCATORIAS DE JUNIO Y SEPTIEMBRE

Nuevo enunciado de entrega4

Alumnos que tienen que hacerla

nuevos-iconos / iconos

vista.jar (documentación)

16 de junio

8 de septiembre

Nuevo enunciado completo

librería con la interfaz gráfica

documentación de la GUI

iconos

 

* A partir de ahora los enunciados de prácticas se descargarán a través del entorno SUMA. Los enunciados se dejarán a cada grupo el día antes de su clase del seminario. Si algún alumno tiene dificultades para acceder que se ponga en contacto con el profesor responsable.

 

Formato de entrega de las prácticas:

    - Esta entrega deberá hacerse en SUMA y además en papel incluyendo:

    - Una portada con los miembros del grupo de prácticas,  la titulación y el profesor.

    - El código fuente de todas las clases implementadas hasta el momento. El código debe estar formateado e impreso      desde el entorno JBuilder. Para ello utilizad la opción "Edición->Formatear todo"

    - El código impreso no debe encuadernarse, simplemente meterlo en una funda de plástico

    - El trabajo debéis dejarlo en Conserjería.

Nota: "Printing in Java 1.2" (Referencia sobre el uso de la impresora). Ejemplo aplicado al JFrameContador.

Referencias: [Eckel98] [Deitel98] [Arnold01]

** EJEMPLO DE APLICACIÓN **

- Aplicación de gestión de una AGENDA DE TELÉFONOS.

** SOFTWARE JAVA** 

 

Requisitos del Sistemas

Instalación

(para windows en español)

Documentación

Ejemplos

JBuilder7 Personal

* mínimo 128 MB de RAM, se recomienda 256 MB

* 500 MB de disco duro (incluye el espacio que se requiere en la instalación)

* Pentium II/233 MHz o compatible   

jb7_windows.zip jb7docs.zip jb7samples.zip

JBuilder9 Personal

* mínimo 256 MB de RAM, se recomienda 512 MB

* 500 MB de disco duro (incluye el espacio que se requiere en la instalación)

* Pentium II/233 MHz o compatible   

jb9_windows.zip jb9docs.zip jb9samples.zip

JBuilderX Foundation

* mínimo 256 MB de RAM, se recomienda 512 MB

* 560 MB de disco duro (incluye el espacio que se requiere en la instalación)

* Pentium III/233 MHz o compatible   

jbx_windows.zip

jbx_linux.tar.gz

clave de activación

leeme.txt

jbxdocs.zip jbxsamples.zip

 

** LIBROS JBUILDER (Documentación de Sun Microsystems)**

 

- Introducción a JBuilder

- Procedimientos iniciales con JBuilder

- Creación de aplicaciones con JBuilder

- Diseño de aplicaciones con JBuilder

 

Criterios de evaluación.

Examen final teórico-práctico (60%) y realización de la práctica (40%) que deben aprobarse (nota >= 5) por separado.

NOTA: A partir de 4'5 en el examen se hará media con la nota de prácticas SIEMPRE Y CUANDO se hayan entregado, es decir, NO se guarda el 4'5.

Enunciados de exámenesDiciembre de 2003, Enero de 2004 y Septiembre de 2004.

                                                      Febrero 2005 ; Septiembre 2005; Diciembre 2005.

                                                      Febrero 2006; Junio 2006 ; Septiembre 2006

Notas del examen de  septiembre 2006:

     - Con una nota superior o igual al 4'5 se aprueba la asignatura siempre que compense con las prácticas

    - Las revisiones del examen tendrán lugar el viernes día 15 de septiembre durante todo el día y el lunes 18 de septiembre por la tarde a partir de las 16:30.

Notas del acta de septiembre 2006 (pendiente de las correcciones de prácticas)

 

Bibliografía básica :

Arnold K., Gosling J., Holmes D. El lenguaje de programación Java. Addison Wesley. 2001.

Budd, T. Object Oriented Programming. Third edition. Addison Wesley. 2002.
  Cornell, G., Horstmann C.S., Forstmann, C.S. Core Java 2. Volumen I: Fundamentals. Prentice Hall PTR. 2002.

Eckel B., Thinking in Java. 3nd edition. Prentice Hall, 2002. (http://www.mindview.net/Books/TIJ/)

Eckel B., Piensa en Java.. Prentice Hall, 2000.
  González Seco, Jose Antonio. El lenguaje de programación C#. http://www.josanguapo.com

Landy, M., Swisher, J., Siddiqui, S., Lundy, M. Borland JBuilder Developer’s Guide. Sams. 2002.
   Loy, M., Eckstein, R., Wood, D., Elliott, J., Cole, B. Java Swing. O’Reilly. 2002.

Meyer, B., Construcción de software orientado a objetos, 2nd edición, Prentice-Hall, 1999.

 Stroustrup, B., El Lenguaje de Programación C++. Edición especial. Addison Wesley. 2003.

 

Complementaria:

Otros enlaces

** ORIENTACIÓN A OBJETOS **

** LPOO **

Convocatoria de examen

(SÓLO PARA LOS ALUMNOS QUE HAN SOLICITADO PERMANECER EN EL ANTIGUO RÉGIMEN DE CONVOCATORIAS)

        Fecha: 2 de diciembre de 2005

        Turno: tarde (16:30)

        Aulas: D.02 del Aulario Norte

        Observación: Este día se deberán entregar también las prácticas.

 

Fecha:14 de febrero de 2006

Turno: tarde (16:30)

Aulas: D.01, D.02, B.01 y C.01 del Aulario Norte

 

(SÓLO PARA ALUMNOS QUE SE ENCUENTREN DENTRO DEL NUEVO RÉGIMEN DE CONVOCATORIAS)

Fecha: 30 de junio de 2006

Turno: tarde (16:00)

Aulas: B.03 y B.04 del Aulario Norte

Fecha: 6 de septiembre de 2006

Turno: mañana (9:30)  

Aulas: B.01, B.02 y B.03 del Aulario Norte