Última actualización: 27/04/2023


Curso Académico: 2023/2024

Programación orientada a objetos
(15995)
Grado en Ingeniería Informática (Plan 2018) (Plan: 431 - Estudio: 218)


Coordinador/a: VALLS FERRAN, JOSE MARIA

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Optativa
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:




Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Programación, Estructura de Datos y Algoritmos
Objetivos
Resultados de aprendizaje: R1. Conocimiento y comprensión: Tener conocimientos básicos y la compresión de los fundamentos científicos y tecnológicos de la Ingeniería Informática, así como un conocimiento específicos de las ciencias de la computación, la ingeniería de computadores y sistemas de información. R2 Análisis de la Ingeniería: Ser capaces de identificar problemas de Ingeniería Informática, reconocer sus especificaciones, establecer diferentes métodos de resolución y seleccionar el más adecuado para su solución, teniendo en cuenta las en limitaciones sociales, salud humana, Medio Ambiente, y comerciales aplicables en cada caso. R5 Aplicaciones de la Ingeniería: Los egresados serán capaces de aplicar su conocimiento y comprensión para resolver problemas, dirigir investigaciones y diseñar dispositivos o procesos del ámbito de la Ingeniería Informática de acuerdo con criterios de coste, calidad, seguridad, eficiencia, respeto por el medioambiente e implicaciones éticas. Estas habilidades incluyen el conocimiento, uso y limitaciones de sistemas informáticos, ingeniería de procesos, arquitecturas de computadores, modelos computacionales, equipos, trabajo práctico, bibliografía técnica y fuentes de información. Competencias Básicas y Generales 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 CB3. Que los estudiantes tengan la capacidad de reunir e interpretar datos relevantes (normalmente dentro de su área de estudio) para emitir juicios que incluyan una reflexión sobre temas relevantes de índole social, científica o ética CB4. Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado CB5. Que los estudiantes hayan desarrollado aquellas habilidades de aprendizaje necesarias para emprender estudios posteriores con un alto grado de autonomía CG3. Ser capaz de valorar las distintas soluciones posibles desde el punto de vista técnico, económico y profesional y del respeto a la legislación vigente en el ámbito general y profesional Competencias específicas: CECRI1. 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 CECRI6: 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. CECRI8: 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 y resultados del aprendizaje
Descripción de contenidos: Programa
Tema 1. Introducción a la Programación Orientada a Objetos. Modelado 1.1. Introducción a la POO 1.2. Comparación con otros paradigmas de programación. 1.3. Modelado Orientado a Objetos. Tema 2. Clases y Objetos en Java. Herencia y polimorfismo 2.1 Composición y herencia 2.2 Clases abstractas 2.3 Herencia múltiple. Interfaces 2.4 Polimorfismo Tema 3. Excepciones, clases de utilidad y paquetes. Entrada y Salida 3.1 Excepciones 3.2 Clases de utilidad 3.3 Documentación y Paquetes 3.4 E/S estándar. Ficheros en Java Tema 4. Algoritmos avanzados 4.1 Complejidad Computacional 4.2 Algoritmos recursivos 4.3 Algoritmos de búsqueda 4.4 Algoritmos avanzados de ordenación 4.5 Diseño de algoritmos complejos con Orientación a Objetos Tema 5. Patrones de diseño. Otros lenguajes orientados a objetos 5.1 Introducción. 5.2 Catálogo de patrones de diseño 5.3 Otros lenguajes orientados a objetos
Actividades formativas, metodología a utilizar y régimen de tutorías
- Clases magistrales. La asignatura se impartirá mediante lecciones magistrales para dar a conocer los conceptos fundamentales y avanzados de la POO, los algoritmos complejos y las técnicas de diseño. Se motivará la participación activa de los alumnos y se incentivará la discusión de forma que se argumente sobre los motivos en utilizar determinadas técnicas de programación para resolver determinados problemas. 3 ECTS - Clases prácticas. Las clases de teoría se reforzarán con sesiones de tipo práctico en aulas informáticas donde se realizarán ejercicios que permitirán fijar y aplicar los conocimientos teóricos adquiridos, así como las prácticas evaluables. 3ECTS
Sistema de evaluación
  • Peso porcentual del Examen Final 60
  • Peso porcentual del resto de la evaluación 40
Calendario de Evaluación Continua
Bibliografía básica
  • Bruce Eckel. Piensa en Java. Pearson/Prentice Hall . 2007
  • David Camacho, José Mª Valls, Jesús García, José M. Molina, Enrique Bueno. Programación, algoritmos y ejercicios resueltos en Java. Pearson/Prentice Hall. 2003
Bibliografía complementaria
  • Brassard, Giles. Fundamentos de Algoritmia. Prentice hall international. 1997
  • Gamma Erich. Patrones de diseño. Addison Wesley. 2003

El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.