Guía docente de Programación y Diseño Orientado a Objetos (297112C)
Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Tutorías
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 Grado)
- 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.
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.
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).