Guía docente de la asignatura
(1897) PROGRAMACIÓN ORIENTADA A OBJETOS

Curso académico 2026/2027

  1. Identificación

    1. De la asignatura

      Curso Académico
      2026/2027
      Titulación
      GRADO EN INGENIERÍA INFORMÁTICA
      PROGRAMA ACADÉMICO DE SIMULTANEIDAD DE DOBLE TITULACIÓN CON ITINERARIO ESPECIFICO DE GRADO EN MATEMÁTICAS Y GRADO EN INGENIERÍA INFORMÁTICA
      Nombre de la asignatura
      PROGRAMACIÓN ORIENTADA A OBJETOS
      Código
      1897
      Curso
      SEGUNDO
      SEGUNDO
      Carácter
      OBLIGATORIA
      Número de grupos
      4
      Créditos ECTS
      6.0
      Estimación del volumen de trabajo
      150.0
      150.0
      Organización temporal
      1º Cuatrimestre
      1º Cuatrimestre
      Idiomas en que se imparte
      Español
      Curso Académico 2026/2027
      Titulación

      GRADO EN INGENIERÍA INFORMÁTICA,

      PROGRAMA ACADÉMICO DE SIMULTANEIDAD DE DOBLE TITULACIÓN CON ITINERARIO ESPECIFICO DE GRADO EN MATEMÁTICAS Y GRADO EN INGENIERÍA INFORMÁTICA

      Nombre de la asignatura PROGRAMACIÓN ORIENTADA A OBJETOS
      Código 1897
      Curso SEGUNDO SEGUNDO
      Carácter OBLIGATORIA
      Número de grupos 4
      Créditos ECTS 6.0
      Estimación del volumen de trabajo 150.0 150.0
      Organización temporal 1º Cuatrimestre 1º Cuatrimestre
      Idiomas en que se imparte Español
    2. Del profesorado: Equipo docente

      • MIÑARRO GIMENEZ, JOSE ANTONIO Docente: GRUPO 2, GRUPO 3 Coordinación de los grupos: GRUPO 3 Coordinador de la asignatura

        Categoría

        PROFESORES TITULARES DE UNIVERSIDAD

        Área

        LENGUAJES Y SISTEMAS INFORMÁTICOS

        Departamento

        INFORMÁTICA Y SISTEMAS

        Correo electrónico / Página web / Tutoría electrónica

        jose.minyarro@um.es Tutoría electrónica: Sí

        Teléfono, horario y lugar de atención al alumnado

        Duración:
        A
        Día:
        Miércoles
        Horario:
        09:30-13:00
        Lugar:
        868888556, Facultad de Informática B1.2.040 (DESPACHO 2.32)
        Observaciones:
        Solicitar tutoría por mensaje privado. Se atenderá de forma presencial (despacho 2.32) o por videoconferencia.
        Duración:
        A
        Día:
        Lunes
        Horario:
        16:00-17:30
        Lugar:
        868888556, Facultad de Informática B1.2.040 (DESPACHO 2.32)
        Observaciones:
        Solicitar tutoría por mensaje privado. Se atenderá de forma presencial (despacho 2.32) o por videoconferencia.
      • LOPEZ JIMENEZ, JUAN JOSE Docente: GRUPO 3, GRUPO DTIE Coordinación de los grupos:

        Categoría

        PROFESOR SUST. POR REDUCCIÓN ACTIVIDAD DOCENTE PROFESOR TC

        Área

        LENGUAJES Y SISTEMAS INFORMÁTICOS

        Departamento

        INFORMÁTICA Y SISTEMAS

        Correo electrónico / Página web / Tutoría electrónica

        juanjoselopez@um.es Tutoría electrónica: No

        Teléfono, horario y lugar de atención al alumnado

      • MANZANARES GUILLEN, SALVADOR Docente: GRUPO 3 Coordinación de los grupos:

        Categoría

        PROFESOR SUST. POR REDUCCIÓN ACTIVIDAD DOCENTE PROFESOR TC

        Área

        LENGUAJES Y SISTEMAS INFORMÁTICOS

        Departamento

        INFORMÁTICA Y SISTEMAS

        Correo electrónico / Página web / Tutoría electrónica

        salvador.manzanares@um.es Tutoría electrónica: No

        Teléfono, horario y lugar de atención al alumnado

      • MENARGUEZ TORTOSA, MARCOS Docente: GRUPO 2 Coordinación de los grupos: GRUPO 2

        Categoría

        PROFESORES TITULARES DE UNIVERSIDAD

        Área

        LENGUAJES Y SISTEMAS INFORMÁTICOS

        Departamento

        INFORMÁTICA Y SISTEMAS

        Correo electrónico / Página web / Tutoría electrónica

        marcos@um.es Tutoría electrónica: No

        Teléfono, horario y lugar de atención al alumnado

      • MOROS VALLE, BEGOÑA Docente: GRUPO 1, GRUPO 3, GRUPO DTIE Coordinación de los grupos: GRUPO 1

        Categoría

        PROFESORES TITULARES DE UNIVERSIDAD

        Área

        LENGUAJES Y SISTEMAS INFORMÁTICOS

        Departamento

        INFORMÁTICA Y SISTEMAS

        Correo electrónico / Página web / Tutoría electrónica

        bmoros@um.es Tutoría electrónica: No

        Teléfono, horario y lugar de atención al alumnado

  2. Presentación

    La asignatura Programación Orientada a Objetos (POO) completa la formación relativa a los paradigmas de programación estudiados en primero, introduciendo los conceptos básicos del paradigma Orientado a Objetos (OO). Dichos conceptos se presentan desde la programación puesto que consideramos que sólo dominando estos conceptos se pueden aplicar correctamente en el análisis y diseño de programas. Además, asumimos que la mejor manera de dominar los conceptos del paradigma OO es poniéndolos en práctica en pequeños proyectos de programación. No obstante, la enseñanza de la POO no se reduce a la enseñanza de la sintaxis de un lenguaje de programación particular, sino que la materia se organiza alrededor de objetivos conceptuales más estables, los conceptos básicos del modelo OO.

  3. Condiciones de acceso a la asignatura

    1. Incompatibilidades

      No constan

    2. Requisitos

      No constan

    3. Recomendaciones

      Es recomendable que el alumno haya superado las asignaturas previas relacionadas con la programación de primer curso: Introducción a la Programación y Tecnología de la Programación

  4. Competencias

    1. Competencias básicas

      • CB2: Que los estudiantes sepan aplicar sus conocimientos a su trabajo o vocación de una forma profesional y posean las competencias que suelen demostrarse por medio de la elaboración y defensa de argumentos y la resolución de problemas dentro de su área de estudio
      • CB5: Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía

    2. Competencias de la titulación

      • CGII4: Conocimiento de una lengua extranjera.
      • CGII7: Resolución de problemas.
      • CGII9: Trabajo en equipo.
      • CGII16: Aprendizaje autónomo.
      • CGII17: Adaptación a nuevas situaciones.
      • CGII22: Motivación por la calidad.
      • CGUM6: Capacidad para trabajar en equipo y para relacionarse con otras personas del mismo o distinto ámbito profesional.
      • CEII5: Capacidad para concebir, desarrollar y mantener sistemas, servicios y aplicaciones informáticas empleando los métodos de la ingeniería del software como instrumento para el aseguramiento de su calidad.
      • CEII8: Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones.
      • CR1: Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente.
      • CR6: Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos.
      • CR7: Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
      • CR8: Capacidad para analizar, diseñar, construir y mantener aplicaciones de forma robusta, segura y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados.
      • CR16: Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software.
      • CR17: Capacidad para diseñar y evaluar interfaces persona computador que garanticen la accesibilidad y usabilidad a los sistemas, servicios y aplicaciones informáticas.

    3. Competencias transversales y de materia

      • CM1 Conocer y utilizar lenguajes orientados a objetos para el desarrollo de sistemas software
      • CM2 Programar aplicaciones de forma robusta, correcta y eficiente
      • CM3 Usar las herramientas de un entorno de desarrollo de programación para crear y desarrollar aplicaciones

  5. Contenidos

    1. Teoría

      Tema 1: Introducción al paradigma Orientado a Objetos

      • Evolución de los lenguajes de programación OO
      • Tecnología Java y las características del lenguaje
      • Paradigma de programación vs. lenguaje de programación
      • Elementos que constituyen el modelo de objetos
      • Calidad del software y cómo el paradigma de programación OO contribuye a mejorarla

      Tema 2: Clases y Objetos

      • Definir el concepto de clase y describir los elementos que la componen (atributos y métodos)
      • Entender y explicar la diferencia entre clases (estructura estática) y objetos (estructura dinámica)
      • Explicar la importancia del Principio de Ocultamiento de la Información para el diseño de arquitecturas flexibles y coherentes y aplicarlo en el diseño de las clases utilizando los niveles de visibilidad que proporcionan los LPOO
      • Entender el concepto de semántica referencia y las implicaciones en los operadores (igualdad y asignación) en los LPOO
      • Entender el paso de mensajes como la forma de comunicación entre los objetos y explicar la diferencia con la llamada a procedimientos
      • Definir métodos en las clases conociendo el funcionamiento del paso de parámetros
      • Justificar el papel de los constructores en los LPOO
      • Entender el modelo de ejecución OO
      • Conocer y aplicar principios de diseño de clases en la resolución de problemas

      Tema 3: Herencia

      • Entender y explicar el concepto de herencia
      • Entender el concepto de polimorfismo presente en los LPOO
      • Entender y explicar el concepto de ligadura dinámica
      • Describir el papel fundamental que juegan las clases abstractas para escribir código genérico
      • Reconocer e implementar las clases abstractas en el diseño de una jerarquía de clases
      • Entender el papel de las interfaces para la definición de tipos
      • Conocer y aplicar la implementación de métodos en las interfaces
      • Conocer y describir como se relaciona el mecanismo de herencia con: el sistema de tipos, la visibilidad de las características de una clase y la creación de objetos
      • Conocer y aplicar principios de diseño de jerarquías de herencia en la resolución de problemas

      Tema 4: Genericidad y colecciones

      • Entender y explicar el papel de la genericidad en los lenguajes con comprobación estática de tipos
      • Definir, instanciar y utilizar clases genéricas
      • Entender las implicaciones de la herencia en la definición de tipos genéricos (estructuras de datos polimórficas)
      • Entender y justificar el uso de la genericidad restringida y aplicarla en la resolución de problemas
      • Conocer las implicaciones de los tipos genéricos en el sistema de tipos en los LPOO
      • Conocer y manejar el API de colecciones de Java
      • Entender el concepto de patrón de diseño
      • Conocer y saber aplicar alguno de los patrones de diseño: Método Plantilla.

      Tema 5: Programación funcional y streams

      • Relacionar la programación funcional y la programación orientada a objetos a través del uso de las expresiones lambda
      • Conocer y utilizar las referencias a métodos y constructores

      Tema 6: Corrección y Robustez

      • Definir los conceptos de corrección y robustez y conocer el uso del mecanismo de excepciones para darle soporte.
      • Conocer el mecanismo de excepciones y aplicarlo en la implementación de rutinas
      • Conocer cómo influye la herencia en la especificación de las excepciones
      • Describir la técnica del Diseño por Contrato y cómo puede soportarse haciendo uso del mecanismo de excepciones
      • Conocer y aplicar principios de diseño de excepciones en la resolución de problemas

    2. Prácticas

      • Práctica 1: Presentación del lenguaje Java

        • Conocer la diferencia entre los entornos Java de desarrollo (JDK, Java Development Kit) y de ejecución (JRE, Java Runtime Environment)
        • Conocer la ubicación de los comandos Java para el desarrollo de aplicaciones y cómo ejecutarlos desde la línea de comandos
        • Entender la importancia de las variables de entorno para la correcta ejecución de los comandos Java
        Relacionado con:
        • Tema 1: Introducción al paradigma Orientado a Objetos
      • Práctica 2: Definición de clases

        • Crear, compilar y ejecutar un proyecto en Eclipse
        • Conocer y aplicar correctamente el concepto de clase
        • Aplicar el principio de ocultación de la información en la definición de una clase Definir correctamente la visibilidad de las declaraciones
        • Definir adecuadamente métodos de acceso y modificación para los atributos de una clase
        • Comprender la utilidad de los constructores como mecanismo de inicialización de los objetos Asimismo, aplicar reutilización en la definición de constructores
        • Conocer la diferencia entre definiciones de instancia y de clase, y aplicarlas correctamente
        • Comprender la semántica de las referencias en Java
        • Utilizar el concepto de paquete como mecanismo de organización del código
        • Comprender la importancia de la aplicación de una convención de nombrado en la escritura de código Aplicar la convención de nombres de Java

        Relacionado con:
        • Tema 2: Clases y Objetos
      • Práctica 3: Relación de clientela entre clases

        • Objetivos formativos de la práctica 2
        • Entender el concepto de propiedad calculada Valorar cuando una propiedad conviene representarla con un atributo o realizar un cálculo para su obtención
        • Aplicar la sobrecarga en la definición de métodos como facilidad del lenguaje para definir signaturas coherentes de métodos y reutilizar la implementación entre métodos sobrecargados
        • Definición y uso de enumerados
        • Definición y uso de constantes
        • Establecer relaciones entre clases mediante relaciones de clientela
        Relacionado con:
        • Tema 2: Clases y Objetos
      • Práctica 4: Diseño de clases I

        • Objetivos formativos de las prácticas 2 y 3
        • Implementación de relaciones de clientela multivaluadas con arrays
        • Definición de argumentos variables en la implementación de los métodos de una clase
        Relacionado con:
        • Tema 2: Clases y Objetos
      • Práctica 5: Diseño de clases II

        • Objetivos formativos de las prácticas 2, 3 y 4
        • Implementación de relaciones de clientela multivaluadas con listas
        • Conocer y utilizar adecuadamente listas en Java
        Relacionado con:
        • Tema 2: Clases y Objetos
      • Práctica 6: Herencia

        • Utilizar el concepto de herencia como mecanismo de reutilización de código donde se ha de cumplir la relación ¿es-un¿ entre las clases
        • Entender la necesidad de la redefinición de métodos en la aplicación de la herencia
        • Comprender el concepto de polimorfismo y ligadura dinámica
        Relacionado con:
        • Tema 3: Herencia
      • Práctica 7: Clase Object

        • Implementar correctamente los métodos equals, clone, hashCode y toString
        • Conocer y utilizar adecuadamente conjuntos en Java
        Relacionado con:
        • Tema 3: Herencia
      • Práctica 8: Clases abstractas e interfaces

        • Implementar clases abstractas
        • Reconocer la necesidad de factorizar código aplicando el patrón de diseño del Método Plantilla
        • Definir e implementar Interfaces
        Relacionado con:
        • Tema 3: Herencia
      • Práctica 9: Colecciones

        • Estudio del API de colecciones de Java
        • Interfaces Comparable y Comparator
        Relacionado con:
        • Tema 4: Genericidad y colecciones
      • Práctica 10: Programación funcional y streams

        • Definición de expresiones lambda
        • Utilización de referencias a métodos y constructores
        • Implementación de métodos en las interfaces
        Relacionado con:
        • Tema 5: Programación funcional y streams
      • Práctica 11: Excepciones

        • Diseño por Contrato
        • Excepciones
        Relacionado con:
        • Tema 6: Corrección y Robustez

  6. Actividades Formativas

    Actividad Formativa Metodología Horas Presencialidad
    A1: Actividades con grupo grande de alumnos entre las que se encuentran la presentación en el aula de los conceptos propios de la materia mediante metodología expositiva con lecciones magistrales participativas y medios audiovisuales. También se contemplan en este grupo las actividades de evaluación teórico prácticas.
    • Lección magistral
    • Examen teórico-práctico
    27.5 40.0
    A2: Actividades con grupo mediano en el aula de resolución de problemas, seminarios, charlas, ejercicios basados en el aprendizaje orientado a proyectos, estudios de casos, exposición y discusión de trabajos relativas al seguimiento individual y/o grupal de adquisición de las competencias.

    Resolución de problemas

    6.0 12.5
    A3: Actividades con grupo pequeño en el laboratorio relacionadas con la componente práctica de las asignaturas, desarrollo de trabajos con equipo técnico especializado, desarrollo de programas, etc.
    • Laboratorio cerrado
    • Aplicación de los principios de diseño OO en el desarrollo de ejercicios de programación
    21.5 37.5
    A4: Tutorías individualizadas o en grupo muy pequeño orientadas a la dirección, supervisión y asesoría por parte del un profesor de la asignatura, del tutor en el caso de Trabajo Fin de Grado, supervisión del tutor de empresa en el caso de Prácticas de Empresa que de forma periódica constate y redirija el trabajo del alumno hacia la consecución de los objetivo marcados.

    Tutoría de seguimiento

    5.0 10.0
    A5: Estudio y trabajo autónomo orientado a la asimilación de contenidos, realización de problemas, ejercicios o redacción de informes técnicos o memorias descriptivas, desarrollo de proyectos o prácticas individuales o en

    Trabajo autónomo

    90.0 0.0
    Totales 150,00

  7. Horario de la asignatura

    https://www.um.es/web/estudios/grados/informatica/2026-27#horarios

  8. Sistemas de Evaluación

    Identificador Denominación del instrumento de evaluación Criterios de Valoración Ponderación
    IE1 Examen teórico-práctico. En este instrumento incluimos desde el tradicional examen escrito o tipo test hasta los exámenes basados en resolución de problemas, pasando por los de tipo mixto que incluyen cuestiones cortas o de desarrollo teórico junto con pequeños problemas. También se incluye aquí la consideración de la participación activa del alumno en clase, la entrega de ejercicios o realización de pequeños trabajos escritos y presentaciones.

    Examen final teórico-práctico tipo test.

    40.0
    IE2 Informe técnico. En este instrumento incluimos los resultados de actividades prácticas, o de laboratorio, junto con sus memorias descriptivas. Los resúmenes del estado del arte o memorias de investigación sobre temas concretos. Y la posibilidad de realizar entrevistas personales o presentaciones de los trabajos realizados también entran en esta categoría.

    Se evaluará mediante examen final práctico realizado en ordenador.

    60.0

  9. Fechas de exámenes

    https://www.um.es/web/estudios/grados/informatica/2026-27#examenes

  10. Resultados del Aprendizaje

    · Entender la calidad del software como un compromiso entre distintos factores externos y reconocer un método de construcción de software modular como la técnica para mejorar los factores de calidad de extensibilidad, reutilización y fiabilidad (corrección y robustez)

    · Justificar por qué se utilizan los datos como clave para descomponer los sistemas en módulos en lugar de las funciones (descomposición funcional)

    · Definir el concepto central de la tecnología de objetos, la clase, y describir los elementos que la componen (atributos y rutinas), contrastando cómo se especifica en diferentes LPOO Explicar los principios de diseño de clases y aplicarlos en la resolución de problemas

    · Explicar las relaciones entre clases (estructura estática) y objetos (estructura dinámica)

    · Contrastar el modelo de ejecución OO frente al modelo de ejecución tradicional, destacando el papel primordial que juegan las referencias

    · Entender la genericidad como un mecanismo necesario en los LPOO tipados para reconciliar la fiabilidad y la reutilización.

    · Describir la técnica del Diseño por Contrato y aplicarla en la implementación de rutinas.

    · Describir y saber aplicar las técnicas para abordar los casos excepcionales: esquema a priori, esquema a posteriori, mecanismo de excepciones

    · Explicar los conceptos de herencia, polimorfismo y ligadura dinámica y cómo contribuyen a alcanzar los criterios de reutilización de módulos Aplicar los principios de diseño para especificar jerarquías de herencia

    · Explicar los criterios para escoger entre una relación de herencia o de clientela entre clases y aplicarlo en la resolución de problemas concretos

    · Describir y ejemplificar el papel fundamental de las clases abstractas para escribir código genérico

    · Explicar la diferencia entre iteradores internos y externos y el modo de implementar cada uno de ellos

    · Describir cómo se relaciona el mecanismo de herencia con: el sistema de tipos, la ocultación de información, genericidad, aserciones y excepciones

    · Justificar la necesidad de incluir la herencia múltiple en los lenguajes de programación

    · Manejar un entorno de programación y un LPOO concreto: editor, compilador y diseñador de interfaces gráficas de usuario Utilizar dicho lenguaje y entorno para desarrollar un mini-proyecto de programación en el que se apliquen los principios de diseño OO

  11. Bibliografía

    Bibliografía complementaria

    No constan

  12. Observaciones

    NECESIDADES EDUCATIVAS ESPECIALES

    Aquellos estudiantes con discapacidad o necesidades educativas especiales podrán dirigirse al Servicio de Atención a la Diversidad y Voluntariado (ADYV - https://www.um.es/adyv) para recibir orientación sobre un mejor aprovechamiento de su proceso formativo y, en su caso, la adopción de medidas de equiparación y de mejora para la inclusión, en virtud de la Resolución Rectoral R-358/2016. El tratamiento de la información sobre este alumnado, en cumplimiento con la LOPD, es de estricta confidencialidad.

    EVALUACIÓN

    En el procedimiento de evaluación resultarán de aplicación el artículo 135.1.v) de los Estatutos de la Universidad de Murcia, el artículo 8.6 del Reglamento de Evaluación de Estudiantes (REVA) y la instrucción SG 18/2026 del secretario general de la Universidad de Murcia que interpreta estas normas, disponible en este enlace: https://sede.um.es/sede/documento/normativa/instruccion-del-secretario-general-sg-18-2026-sobre-la-interpretacion-y-aplicacion-del-art-135-1-v-estatutos-umu/24199.pdf

    Se recuerda asimismo que el artículo 22.1 del Reglamento de Evaluación de Estudiantes (REVA) estipula que "el o la estudiante que se valga de conductas fraudulentas, incluida la indebida atribución de identidad o autoría, o esté en posesión de medios o instrumentos que faciliten dichas conductas, obtendrá la calificación de cero en el procedimiento de evaluación y, en su caso, podrá ser objeto de sanción, previa apertura de expediente disciplinario".

    OBSERVACIONES DEL EQUIPO DOCENTE

    SOBRE LA CALIFICACIÓN EN ACTA:

    - Para aprobar la asignatura se debe obtener una nota igual o superior a 5 en la media ponderada obtenida en los instrumentos de evaluación.

    - Para aprobar la asignatura es requisito aprobar (obtener una nota igual o superior a 5) la parte práctica del examen.

    - En caso de no aprobar la parte práctica del examen, la calificación final será “Suspenso”. La nota se calculará como la media ponderada por los pesos de cada parte, contando cero en la parte no presentada. En ningún caso la nota será superior a 4,9.

    - La calificación en el acta será "No presentado" si no se ha realizado la parte práctica del examen o la parte práctica está aprobada y no se ha realizado la parte teórica del examen.

    -----------------------------------------------------------------------------------------------------------------

    Las calificaciones aprobadas de los instrumentos de evaluación se conservarán en las siguientes convocatorias hasta que la asignatura se vuelva a impartir, salvo que se solicite su recuperación. Para ejercitar la renuncia a la nota obtenida en algún instrumento aprobado se deberá enviar un correo electrónico al coordinador de la asignatura en los 5 días siguientes a partir de la publicación del llamamiento en el AV.

    ---------------------------------------------------

    SOBRE OBJETIVOS DE DESARROLLO SOSTENIBLE

    Esta asignatura se encuentra vinculada de forma directa con el Objetivo de Desarrollo Sostenible 9 Industria, Innovación e Insfraestructuras