BEGOÑA MOROS VALLE

 Profesora Titular de Escuelas Universitarias

 

 Departamento de Informática y Sistemas

 Facultad de Informática. Despacho 2.37 (2ª planta). 
 Universidad de Murcia. Campus de Espinardo. 30071-Murcia.
 Teléfono: +34 968 36 4608 / E-mail: bmoros@um.es

PROGRAMACIÓN ORIENTADA A OBJETOS - Curso 2005/2006

PROGRAMACIÓN ORIENTADA A OBJETOS - Curso 2006/2007

PROGRAMACIÓN ORIENTADA A OBJETOS - Curso 2007/2008

[Objetivos][Teoría][Prácticas][Evaluación][Bibliografía][Otros enlaces][Convocatoria examen][Blog de FAQs]

Última modificación: 24 de julio de 2008

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 B. 04:       Martes, 9:00 a 11:00

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

ITIG - Aulario Norte, Aula B.02:     Jueves, 9:00 a 11:00

PRÁCTICAS

ITI Sistemas - Facultad de Informática, Laboratorio 1.3:  

·         Martes       18:30 a 20:30     

·         Miércoles  18:30 a 20:30      

Profesor responsable:  Marcos Menárguez

 

(Consultad el calendario de entrevistas)

·         Martes:      18:30 - 20:30

·         Jueves:      9:30 - 13:30

ITI Gestión - Facultad de Informática, Laboratorio 1.4: 

·         Lunes      16:30 a 18:30

                           18:30 a 20:30

 

Profesor responsable:  Begoña Moros

 

(Consultad el calendario de entrevistas)

·         Martes:  18:30 - 20:30

·         Jueves:  9:30 - 13:30

 

Ingeniero en Informática - Facultad de Informática, Laboratorio 1.3:

·         Martes      16:30 a 18:30

·         Miércoles 16:30 a 18:30

Profesor responsable: Jesús Sánchez

 

 

TUTORÍAS

  • Begoña Moros (despacho 2.37):
    • Martes:   18:30 - 20:30
    • Jueves:   9:30 - 13:30
  • Marcos Menárguez (despacho 2.33, marcos@um.es):
    • Martes:   18:30 - 20:30
    • Jueves:   9:30 - 13:30
  • Jesús Sánchez (despacho 2.32, jesusc@um.es):
    • Jueves:       12:30 - 14: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  

·         TEMA 0: Presentación de la asignatura (ITI Sistemas, Ingeniero en Informática, ITI Gestión)

         

 Bibliografía complementaria:

               * Brooks. "No Silver Bullet. Essence and Accidents of Software Engineering". Computer Magazine. 1987.

               * Ingalls. "Design Principles Behind Smalltalk". BYTE Magazine. 1981.

               * Levenez. Computer Languages History. 2002.

 

·         TEMA 1: ORIENTACIÓN A OBJETOS UNA TÉCNICA PARA MEJORAR LA CALIDAD DEL SOFTWARE   

                           - ejercicios propuestos tema1

 

            Bibliografía:

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

NOTA: Los contenidos del tema 2 al 5 se presentarán en dos iteraciones. En una primera parte se estudiarán los contenidos centrados en el lenguaje Java y en la segunda parte se contrastarán los conceptos presentados en Java con otros lenguajes de POO como Eiffel, C++ y C#.

             - 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.

·         TEMA 3: HERENCIA (1ª parte)(2ª parte: diapositivas / 2 diapositivasxpag)

                     

                    - ejercicios propuestos tema3

 

       Bibliografía:

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

 

·         TEMA 4: CORRECCIÓN y ROBUSTEZ (1ª parte: diapositivas o documento de 2 diapositivas x página)

·                                           (2ª parte: diapositivas o documento de 2 diapositivas x página)

                           - ejercicios propuestos tema4

            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 tema5

        Bibliografía:

                         *Capítulo 15  de [Meyer, 99]

 

   

        Bibliografía complementaria:

        

                    * Hammel, T. "Simulate multiple inheritance in Java. A trick for extending multiple classes". JavaWorld.com. 2005."

 

PRÁCTICAS

      [TEORÍA][EJERCICIOS][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 ECLIPSE  (zip) y subir este fichero. 

 

** Instrucciones para las entregas en PAPEL **

- Debe incluir una portada con los miembros del grupo de prácticas (nombre y dirección de correo

       electrónico), la titulación y el profesor.

- El código fuente de todas las clases implementadas hasta el momento.

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

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

 

Referencias:[Horstmann06] [Eckel98] [Deitel98] [Arnold01]

** SOFTWARE JAVA** 

·         jdk 1.6

·         Entorno de desarrollo ECLIPSE v3.2 en castellano. (NOTA: Sólo es necesario descargar y descomprimir en un directorio)

 

·         Pregunta frecuente: ¿Puedo crear un ejecutable con Java para ejecutarlo sin la máquina virtual?

** TUTORIALES AYUDA **

·         Curso de Java. Iván Párraga. 2003

·         Tutorial de Eclipse.

Criterios de evaluación.

Para la evaluación del aprendizaje de los alumnos se van a utilizar tres instrumentos de medida diferentes: parcial de Java, examen de teoría y proyecto de programación en Java utilizando el entorno de desarrollo Eclipse. El alumno deberá aprobar (nota>= 5) cada una de las partes para calcular la nota final del siguiente modo:

    NOTA FINAL = 0'2 * ParcialJava + 0'4 * ExamenTeoría + 0'4 * Prácticas

El alumno que supere alguna de las tres partes conservará su aprobado DURANTE EL CURSO ACADÉMICO (esto es, hasta la convocatoria de septiembre)

    NOTA MUY IMPORTANTE:

    - Aquellos alumnos que se matricularon por primera vez en el curso 2006/2007 se les guarda la nota que tengan aprobada (teoría o prácticas) un año a contar desde que superaron esa parte.

    - Los alumnos anteriores al curso 2006/2007 y que en su día aprobaron alguna de las dos partes de la asignatura, le cuenta como si la hubieran aprobado en febrero de 2007. Por tanto, se les guarda la parte aprobada hasta febrero de 2008.

  

** Notas del parcial de Java del 15 de diciembre de 2007: ITI Gestión, ITI Sistemas e Ingeniero en Informática.

** Notas del examen teórico-práctico del 12 de febrero de 2007: ITI Gestión, ITI Sistemas e Ingeniero en Informática.

** Examen de junio 2008 (notas en SUMA)

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.

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

Cay S. Horstmann, Gary Cornell. Java 2. Vol I. Fundamentos. Pearson/Prentice Hall, 2006.

Cay S. Horstmann, Gary Cornell. Java 2. Vol II. Características Avanzadas. Pearson/Prentice Hall, 2006.

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:

·         Bloch, J., Effective Java. Programming Language Guide. Sun Microsystems. 2001.

·         Collins, D. Designing Object Oriented User Interfaces. Addison Wesley. 1995.

·         Deitel, Harvey M. Cómo programar en Java. Prentice-Hall Hispanoamericana, cop. 1998.

·         Joyner, Ian. Object Unencapsulated. Java, Eiffel y C++. Prentice Hall, 1999.

Otros enlaces

** ORIENTACIÓN A OBJETOS **

** LPOO **

·         RevistasJavaWorld, JavaPro

·         Tutoriales en castellano

 

Convocatoria de examen

·         Convocatoria parcial de Java:

Fecha:15 de diciembre de 2007

Turno: mañana 11:00

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

 

·         Convocatoria de Febrero:

Fecha:12 de febrero de 2008

Turno: 15:30 (test) y 17:00 (teórico-práctico)

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

 

·         Convocatoria de Junio:

Fecha: 27 de junio de 2008

Turno:  15:30 (test) y 17:00 (teórico-práctico)

Aulas: A.02 y A.03 del Aulario Norte

·         Convocatoria de Septiembre:

Fecha: 5 de septiembre de 2008

Turno: 9:00 (test) y 10:30 (teórico-práctico)  

Aulas: A.02 y A.03 del Aulario Norte