Guía docente de Programación y Diseño Orientado a Objetos (2961121)

Curso 2024/2025
Fecha de aprobación: 25/06/2024

Grado

Grado en Ingeniería Informática

Rama

Ingeniería y Arquitectura

Módulo

Formación Específica de Rama

Materia

Programación e Ingeniería del Software

Year of study

2

Semestre

1

ECTS Credits

6

Tipo

Obligatoria

Profesorado

Teórico

  • Sergio Alonso Burgos. Grupo: C
  • Zoraida Callejas Carrión. Grupo: A
  • Carmen Josefa Martínez Cruz. Grupo: D
  • Nuria Medina Medina. Grupo: B

Práctico

  • Sergio Alonso Burgos Grupos: 7 y 8
  • María del Campo Bermúdez Edo Grupos: 10, 2 y 9
  • Carmen Josefa Martínez Cruz Grupo: 11
  • Juan Ruiz De Miras Grupos: 1, 12 y 3
  • Ángel Ruiz Zafra Grupos: 5 y 6
  • Francisco Velasco Anguita Grupo: 4

Tutorías

Sergio Alonso Burgos

Email
  • Primer semestre
    • Martes de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
    • Jueves de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
  • Segundo semestre
    • Martes de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)
    • Jueves de 10:00 a 13:00 (Etsiit 3ª Planta Despacho 22)

Zoraida Callejas Carrión

Email
  • Primer semestre
    • Martes de 10:00 a 13:00 (Etsiit Desp. 23 3ª Planta)
    • Jueves de 10:00 a 13:00 (Etsiit Desp. 23 3ª Planta)
  • Segundo semestre
    • Martes de 10:00 a 13:00 (Etsiit Desp. 23 3ª Planta)
    • Jueves de 10:00 a 13:00 (Etsiit Desp. 23 3ª Planta)

Carmen Josefa Martínez Cruz

Email
  • Primer semestre
    • Lunes de 16:30 a 17:30 (Facultad Cc. Económicas y Empresariales Despacho B012)
    • Martes de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.3 E.T.S.I.I.T)
    • Jueves de 10:30 a 12:30 (Facultad Cc. Económicas y Empresariales Despacho B012)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.3 E.T.S.I.I.T)
    • Jueves de 10:30 a 13:30 (Edificio Auxiliar Despacho 1.3 E.T.S.I.I.T)

Nuria Medina Medina

Email
  • Primer semestre
    • Lunes de 11:30 a 13:30 (Etsiit 3ª Planta Despacho 25)
    • Miércoles de 11:30 a 13:30 (Etsiit 3ª Planta Despacho 25)
    • Viernes de 11:30 a 13:30 (Etsiit 3ª Planta Despacho 25)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Etsiit 3ª Planta Despacho 25)
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª Planta Despacho 25)

María del Campo Bermúdez Edo

Email
  • Primer semestre
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª P Despacho 29)
  • Segundo semestre
    • Martes de 10:30 a 13:30 (Etsiit 3ª P Despacho 29)
    • Miércoles de 10:30 a 13:30 (Etsiit 3ª P Despacho 29)

Juan Ruiz De Miras

Email
  • Primer semestre
    • Martes
      • 08:30 a 09:30 (Etsiit D 30 3ª Planta)
      • 13:30 a 14:30 (Etsiit D 30 3ª Planta)
    • Miércoles
      • 08:30 a 09:30 (Etsiit D 30 3ª Planta)
      • 13:30 a 14:30 (Etsiit D 30 3ª Planta)
    • Jueves de 08:30 a 09:30 (Etsiit D 30 3ª Planta)
    • Viernes de 08:30 a 09:30 (Etsiit D 30 3ª Planta)
  • Segundo semestre
    • Martes de 08:30 a 11:30 (Etsiit D 30 3ª Planta)
    • Miércoles de 08:30 a 11:30 (Etsiit D 30 3ª Planta)

Ángel Ruiz Zafra

Email
  • Primer semestre
    • Martes de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
    • Miércoles de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
  • Segundo semestre
    • Martes de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)
    • Miércoles de 09:15 a 11:15 (Edificio Auxiliar Des 1.2)

Francisco Velasco Anguita

Email
  • Primer semestre
    • Miércoles de 10:00 a 13:00 (Etsiit 3ª P Despacho 33)
    • Jueves de 10:00 a 13:00 (Etsiit 3ª P Despacho 33)
  • Segundo semestre
    • Martes de 10:00 a 13:00 (Etsiit 3ª P Despacho 33)
    • Miércoles de 10:00 a 13:00 (Etsiit 3ª P Despacho 33)

Prerrequisitos y/o Recomendaciones

Se recomienda tener cursadas las asignaturas “Fundamentos de Programación” y “Metodología de la Programación”.

Breve descripción de contenidos (Según memoria de verificación del Máster)

  • Conceptos, técnicas y notaciones.
  • Clases y objetos.
  • Polimorfismo.
  • Herencia.
  • Diseño con polimorfismo y herencia.
  • Objetos complejos: componentes, aspectos, frameworks

Competencias

Competencias Generales

  • CG05. 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.
  • CG08. 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.
  • CG09. Capacidad para resolver problemas con iniciativa, toma de decisiones, autonomía y creatividad. Capacidad para saber comunicar y transmitir los conocimientos, habilidades y destrezas de la profesión de Ingeniero Técnico en Informática.

Competencias Específicas

  • CE07. 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.
  • CE14. 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.

Competencias Transversales

  • CT01. Capacidad de organización y planificación así como capacidad de gestión de la Información. 

Resultados de aprendizaje (Objetivos)

  • Comprender el origen de la orientación a objetos y justificar por qué se utilizan los objetos como clave para descomponer los sistemas en módulos en lugar de la funcionalidad.
  • Conocer los principales conceptos de la tecnología de objetos y su aplicación en el diseño de software.
  • Utilizar los principios de diseño de la orientación a objetos y aplicarlos en la resolución de problemas prácticos.
  • Conocer notaciones básicas de diseño que permitan representar las clases, sus relaciones y los objetos.
  • Comprender el concepto de polimorfismo y de ligadura dinámica, y saber aplicar ambos en el diseño de clases.
  • Conocer el concepto de herencia, sus distintas formas y los problemas originados en el diseño de lenguajes de programación.
  • Comprender las relaciones complejas entre el sistema de tipos, la herencia y el polimorfismo.
  • Adquirir habilidades para aplicar los conceptos de herencia, polimorfismo y ligadura dinámica para realizar diseños e implementaciones reutilizables.
  • Saber aplicar en la resolución de problemas concretos los principios de diseño con el objetivo de especificar jerarquías de clases y comprender los criterios para escoger entre una relación de herencia o de clientela.
  • Manejar entornos de programación orientados a objetos que ejemplifiquen lenguajes con diferentes características.
  • Conocer el patrón MVC y estar capacitado para desarrollar un supuesto práctico haciendo uso de él.

Programa de contenidos Teóricos y Prácticos

Teórico

  • Tema 1. Conceptos básicos.
  • Tema 2. Clases, objetos y mensajes.
  • Tema 3. Reutilización y polimorfismo.
  • Tema 4. Conceptos complementarios.

Práctico

  • Práctica 1. Ejercicios básicos de programación orientados a objetos.
  • Práctica 2. Implementación de la estructura de clases de un sistema orientado a objetos, dado su diseño estructural.
  • Práctica 3. Implementación de la funcionalidad del sistema, dado su diseño dinámico.
  • Práctica 4. Ampliación del sistema incluyendo herencia y polimorfismo.
  • Práctica 5. Implementación de una interfaz gráfica de usuario básica siguiendo el patrón MVC.

Bibliografía

Bibliografía fundamental

  • I. Zahonero, L. Joyanes Aguilar. Programación en C, C++, JAVA y UML. MacGraw-Hill. 2015.
  • T. Budd. An Introduction to Object-Oriented Programming. Addison-Wesley. 2002.
  • D. Pilone, N. Pitman. UML 2.0 in a Nutshell. O'Reilly Media. 2005.
  • J. Rumbaugh, I. Jacobson, G. Booch. The Unified Modeling Language Reference Manual. Addison-Wesley. 2004.

Bibliografía complementaria

  • F. Durán, F. Gutiérrez, E. Pimentel. Programación orientada a objetos con Java. Thomson. 2007.
  • D. Thomas, C. Fowler, A. Hunt. Programming Ruby (Vol. 13). Pragmatic Bookshelf. 2004.
  • G. Booch, R. Maksimchuk, M. Engle, B. Young, J. Conallen, K. Houston. Object-oriented analysis and design with applications, 3ª ed. Addison-Wesley Professional (ACM Online Book Program). 2007.
  • C. Larman. Applying UML and Patterns: An Introduction to Object-Oriented Analysis and Design and Iterative Development, 3ª ed. Prentice Hall. 2005.

Enlaces recomendados

Metodología docente

  • MD01. Lección Magistral (Clases Teóricas-Expositivas) 
  • MD02. Actividades Prácticas (Resolución de Problemas, Resolución de Casos Prácticos, Desarrollo de Proyectos, Prácticas en Laboratorio, Taller de Programación, Aula de Informática, Prácticas de Campo). 
  • MD03.  Seminarios (Debates, Demos, Exposición de Trabajos Tutelados, Conferencias, Visitas Guiadas, Monografías). 
  • MD04. Actividades no presenciales Individuales. 
  • MD05. Actividades no presenciales Grupales. 
  • MD06. Tutorías Académicas. 

Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)

Evaluación Ordinaria

La evaluación de la parte teórica (EvT), se realizará con dos exámenes. La evaluación de las prácticas (EvP), se realizará mediante dos exámenes en el laboratorio que pueden requerir el software desarrollado durante las sesiones de prácticas. Es necesario por tanto que el estudiante realice todos los desarrollos indicados en los guiones de prácticas.

Asimismo, el profesorado podrá tener en cuenta en su evaluación aspectos relacionados con el trabajo continuado del estudiante hasta un máximo de 1 punto (sobre 10) extra sobre la nota de prácticas y 0.5 puntos (sobre 10) extra sobre la nota de teoría. La calificación máxima que se podrá obtener en teoría y prácticas (EvT y EvP) será de 10 sobre 10 respectivamente.

El peso de cada parte en la calificación final es:

  • Parte teórica (EvT): 50%
  • Parte práctica (EvP): 50%

Para aprobar la asignatura en la convocatoria ordinaria es necesario obtener una calificación numérica superior o igual a 5 (sobre 10). No obstante, además del requisito anterior, se establece como requisito adicional para superar la asignatura que tanto la calificación correspondiente a la parte teórica (EvT) como a la parte práctica (EvP) sean mayores o iguales a 4,5 (sobre 10).

Evaluación Extraordinaria

La evaluación de la parte teórica (EvTx) se realizará con un único examen.

La evaluación de la parte práctica (EvPx) se realizará con un único examen que puede requerir el software desarrollado para el supuesto de prácticas de la asignatura. Por ello, será necesario disponer de la implementación completa del mismo proyecto utilizado en las prácticas de laboratorio en la modalidad de evaluación continua.

El peso en la evaluación de cada actividad formativa es el que sigue:

  • Parte Teórica (EvTx): 50%
  • Parte Práctica (EvPx): 50%

Para aprobar la asignatura en la convocatoria extraordinaria es necesario obtener una calificación numérica superior o igual a 5 (sobre 10). No obstante, además del requisito anterior, se establece como requisito adicional para superar la asignatura que tanto la calificación correspondiente a la parte teórica (EvTx) como a la parte práctica (EvPx) sean mayores o iguales a 4,5 (sobre 10).

A la convocatoria extraordinaria podrán concurrir todos los estudiantes, con independencia de haber seguido o no un proceso de evaluación continua. La calificación de los estudiantes en la convocatoria extraordinaria garantiza en todo caso la posibilidad de obtener el 100% de la calificación final.

Los estudiantes que no hayan superado la convocatoria ordinaria pero tengan una calificación superior a 4,5 (sobre 10) en la parte de teoría (EvT) o en la parte práctica (EvP) pueden conservar esa calificación si así lo desean, examinándose en la convocatoria extraordinaria solo de la parte no superada, ya sea la teórica (EvTx) o la práctica (EvPx).

Evaluación única final

La evaluación de la parte teórica (EvTuf) se realizará con un único examen.

La evaluación de la parte práctica (EvTuf) se realizará con un único examen que puede requerir el software desarrollado para el supuesto de prácticas de la asignatura. Por ello, será necesario disponer de la implementación completa del mismo proyecto utilizado en las prácticas de laboratorio en la modalidad de evaluación continua.

El peso en la evaluación de cada actividad formativa es el que sigue:

  • Parte Teórica (EvTuf): 50%
  • Parte Práctica (EvPuf): 50%

Para aprobar la asignatura en la convocatoria extraordinaria es necesario obtener una calificación numérica superior o igual a 5 (sobre 10). No obstante, además del requisito anterior, se establece como requisito adicional para superar la asignatura que tanto la calificación correspondiente a la parte teórica (EvTuf) como a la parte práctica (EvPuf) sean mayores o iguales a 4,5 (sobre 10).

Información adicional

Todo lo relativo a la evaluación se regirá por la Normativa de evaluación y calificación de los estudiantes vigente en la Universidad de Granada.

El sistema de calificaciones se expresará mediante calificación numérica de acuerdo con lo establecido en el art. 5 del R. D 1125/2003, de 5 de septiembre, por el que se establece el sistema europeo de créditos y el sistema de calificaciones en las titulaciones universitarias de carácter oficial y validez en el territorio nacional.

La asistencia a las clases de teoría y prácticas no es obligatoria per se, aunque debe tenerse en cuenta que en un escenario de docencia presencial, los exámenes de teoría y prácticas en evaluación continua se realizan en el horario de clase.