Guía docente de la asignatura Guía docente de la asignatura Asignatura Programación Orientada a Objetos Materia Programación Orientada a Objetos Módulo Titulación Grado en Ingeniería de Servicios y Aplicaciones 413 Plan Código Semestre 3 Periodo de impartición Grado Nivel/Ciclo Tipo/Carácter Curso Créditos ECTS 6 Lengua en que se imparte Castellano Profesor/es responsable/s Pilar Grande González 40812 OB 2 Escuela Universitaria de Informática Plaza de Santa Eulalia, nº 9-11 40.005 - Segovia Teléfono: (+34) 921 11 24 51 Datos de contacto (E-mail, teléfono() Fax: (+34) 921 11 24 01 email: [email protected] Departamento de Informática de la UVA. Línea de investigación actual: Bibliotecas digitales. Bibliotecas Universitarias. Web 2.0 (Web Social) TUTORÍAS Lugar: Campus María Zambrano - Despacho de la E. U. Informática – D103 - Planta 1 (junto al aula A102) Horario de tutorías Horario: Martes: de 12-14 h. Miércoles: 10-12 h. y de 17-19 h. Departamento Informática ( ATC; CCIA, LSI) Universidad de Valladolid 1 de 7 Guía docente de la asignatura 1. Situación / Sentido de la Asignatura 1.1 Contextualización En la actualidad, la mayoría del desarrollo de software se realiza desde el paradigma Orientado a Objetos. Esta asignatura se encuadra en la materia “Proceso de desarrollo del software”, y a partir de los conocimientos previos adquiridos en la asignatura “Fundamentos de Programación” (FP) , introduce de una forma clara los conceptos, técnicas y herramientas necesarias para realizar un desarrollo de software de calidad dentro del paradigma Orientado a Objetos. 1.2 Relación con otras materias Esta asignatura se relaciona directamente con otras asignaturas de la materia “Proceso de desarrollo del software” como son, “Programación y Estructura de Datos (PED)”, y “Proceso de desarrollo del software (PDS)”. También tiene conexión con la asignatura “Análisis de requisitos” perteneciente a la materia “Sistemas de Información”. 1.3 Prerrequisitos Aunque no se han establecido prerrequisitos, es recomendable que el alumno posea conocimientos básicos de programación, en particular haber cursado con aprovechamiento la asignatura “Fundamentos de Programación” (FP). 2. Competencias 2.1 Generales G01 (Conocimientos Generales Básicos). G02 (Conocimientos básicos de la profesión). G03 (Capacidad de análisis y síntesis). G05 (Comunicación oral y escrita). G08 (Habilidades de gestión de la información). G09 (Resolución de problemas). G12 (Trabajo en equipo). G16 (Capacidad de aplicar los conocimientos en la práctica). G18 (Capacidad de aprender). G19(Capacidad de adaptarse a nuevas situaciones). G20 (Habilidad para trabajar de forma autónoma). 2.2 Específicas • E03-Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería. • E07-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. • E10-Conocimiento, administración y mantenimiento sistemas, servicios y aplicaciones informáticas. • E11-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. • E12-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. • E13-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. • E20-Conocimiento y aplicación de los principios, metodologías y ciclos de vida de la ingeniería de software. • E27-Capacidad para emplear metodologías centradas en el usuario y la organización para el desarrollo, evaluación y gestión de aplicaciones y sistemas basados en tecnologías de la información que aseguren la accesibilidad, ergonomía y usabilidad de los sistemas. • E29-Capacidad para seleccionar, desplegar, integrar y gestionar sistemas de información que satisfagan las necesidades de la organización, con los criterios de coste y calidad identificados. • E34-Capacidad para participar activamente en la especificación, diseño, implementación y mantenimiento de los sistemas de información y comunicación. Universidad de Valladolid 2 de 7 Guía docente de la asignatura 3. Objetivos 1. Conocer y aplicar de forma adecuada los conceptos asociados al paradigma de programación orientada a objetos. 2. Dominar la metodología de diseño de Tipos Abstractos de datos (TAD’s) y los TAD’s Fundamentales, y su aplicación al paradigma orientado a objetos. 3. Comprender y aplicar la técnica de herencia para diseñar jerarquías de clases que faciliten la reutilización y mejoren la productividad. 4. Utilizar entornos de programación orientados a objetos. 5. Conocer y desarrollar patrones de diseño orientados a objetos. 4. Tabla de dedicación del estudiante a la asignatura ACTIVIDADES PRESENCIALES HORAS ACTIVIDADES NO PRESENCIALES HORAS Clases teórico-prácticas (T/M) 35 Estudio y trabajo autónomo individual 65 Clases prácticas de aula (A) 10 Estudio y trabajo autónomo grupal 30 Laboratorios (L) 15 Prácticas externas, clínicas o de campo Seminarios (S) Tutorías grupales (TG) Evaluación Total presencial 60 Total no presencial 90 5. Bloques temáticos1 Bloque 1: El lenguaje Java Tema 1.- Introducción al lenguaje Java Tema 2.- Sintaxis básica del lenguaje Java Tema 3.- Colecciones en Java Carga de trabajo en créditos ECTS: 2 a. Contextualización y justificación Los alumnos ya conocen el paradigma de la programación modular y estructurada y los conceptos básicos asociados a la programación de computadores (fueron presentados en la asignatura FP). En la asignatura POO vamos a introducir las bases del paradigma de Programación orientado a objetos y pondremos en práctica estos conocimientos con ayuda del lenguaje Java. En ninguna asignatura anterior del plan de estudios se ha trabajado con este lenguaje, por lo que resulta imprescindible ofrecer a los alumnos una primera aproximación al mismo que les permita afrontar el bloque 2 de conceptos temáticos de forma satisfactoria. b. Objetivos de aprendizaje - Conocer las características principales del lenguaje de programación Java - Trabajar en el laboratorio con un IDE y el paradigma de POO 1 Universidad de Valladolid 3 de 7 Guía docente de la asignatura c. Contenidos Se presentan los orígenes del lenguaje Java, así como los conceptos básicos asociados al mismo: sintaxis básica, versiones, características, tecnologías, tipos de aplicaciones, proceso de ejecución de un programa Java, etc. d. Métodos docentes 1.- Lección magistral: exposición de teoría 2.- Prácticas en aula: resolución de problemas 4.- Evaluación 5.- Estudio autónomo por parte del alumno, incluyendo la realización de problemas, consulta bibliográfica, realización de prácticas y preparación de pruebas de evaluación e. Plan de trabajo • Alternar sesiones teóricas con clases de problemas y prácticas de laboratorio f. Evaluación Ver tabla 7. g. Bibliografía básica • B. Meyer . Construcción de software orientado a objetos. 2ª. ed., Prentice-Hall, 2002 • H.M. Deitel y P.J. Deitel. Java: Cómo programar. 9ª ed - Ed. Pearson Education, 2012 • L. Joyanes Aguilar. I. Zahonero Martínez. Programación en Java. Ed. McGraw-Hill, 2011. h. Bibliografía complementaria • T. Budd. Introducción a la programación orientada a objetos. Addison-Wesley Iberoamericana, 1994 • L. Joyanes Aguilar y L. Zahonero Martínez . Programación en C, C++, Java y UML. Ed. McGraw-Hill, 2010. • F. Durán y otros. Programación orientada a objetos con Java. Ed. Thomson , 2007. • B. Eckel. Piensa en Java . 4º Ed. Prentice-Hall, 2007 i. Recursos necesarios Aula con pizarra y ordenador con proyector, biblioteca, sala de estudio y despacho para tutorías. Bloque 2: Paradigma de la Programación Orientada a Objetos (POO) Tema 4.- Visión general. Tema 5.- Clases y Objetos. Tema 6.- Herencia y Polimorfismo. Tema 7.- Control de ejecución: Excepciones. Tema 8.- Patrones de diseño. Carga de trabajo en créditos ECTS: 4 a. Contextualización y justificación Universidad de Valladolid 4 de 7 Guía docente de la asignatura Con este bloque temático se potencia la formación del alumno en materia de paradigmas de lenguajes de programación. b. Objetivos de aprendizaje Conocer los conceptos básicos asociados al paradigma de POO c. Contenidos En el tema 4 se proporciona una visión general del paradigma de programación orientado a objetos, con la intención de que el alumno pueda comprender mejor los conceptos que se van a desarrollar en los temas siguientes. Este bloque temático pretende introducir las bases del paradigma de POO : clases, objetos, herencia, polimorfismo (temas 5 y 6), Continuamos abordando un tema de gran interés como es el tratamiento de excepciones para evitar errores en la ejecución de los programas (tema 7). Para finalizar, presentamos patrones básicos de diseño que nos ayudarán en el proceso de desarrollo del software (tema 8). d. Métodos docentes 1.- Lección magistral: exposición de teoría 2.- Prácticas en aula: resolución de problemas 4.- Evaluación 5.- Estudio autónomo por parte del alumno, incluyendo la realización de problemas, consulta bibliográfica, realización de prácticas y preparación de pruebas de evaluación e. Plan de trabajo • Alternar sesiones teóricas con clases de problemas y prácticas de laboratorio f. Evaluación Ver tabla 7. g. Bibliografía básica • B. Meyer . Construcción de software orientado a objetos. 2ª. ed., Prentice-Hall, 2002 • H.M. Deitel y P.J. Deitel. Java: Cómo programar. 9ª ed - Ed. Pearson Education, 2012 • L. Joyanes Aguilar. I. Zahonero Martínez. Programación en Java. Ed. McGraw-Hill, 2011. h. Bibliografía complementaria • T. Budd. Introducción a la programación orientada a objetos. Addison-Wesley Iberoamericana, 1994 • L. Joyanes Aguilar y L. Zahonero Martínez . Programación en C, C++, Java y UML. Ed. McGraw-Hill, 2010. • F. Durán y otros. Programación orientada a objetos con Java. Ed. Thomson , 2007. • B. Eckel. Piensa en Java . 4º Ed. Prentice-Hall, 2007 i. Recursos necesarios Aula con pizarra y ordenador con proyector, biblioteca, sala de estudio y despacho para tutorías. 6. Temporalización (por bloques temáticos) BLOQUE TEMÁTICO CARGA ECTS PERIODO PREVISTO DE DESARROLLO Universidad de Valladolid 5 de 7 Guía docente de la asignatura 1.- El lenguaje Java 2 2.- Paradigma de la POO 4 Universidad de Valladolid 6 de 7 Guía docente de la asignatura 7. Tabla resumen de los instrumentos, procedimientos y sistemas de evaluación/calificación INSTRUMENTO/PROCEDIMIENTO Examen Teórico/Práctico PESO EN LA NOTA FINAL 80% OBSERVACIONES Uno por cada convocatoria (Junio, Julio) La nota final obtenida en esta parte debe ser >= 5 (sobre un total de 10 puntos), para que se considere aprobada la parte teórica de la asignatura. Realizacióny defensa de varias prácticas de ordenador 20% Evaluación continua (todo el semestre) La nota final obtenida en esta parte debe ser >= 5 (sobre un total de 10 puntos), para que se considere aprobada la parte práctica de la asignatura. Importante: Para aprobar la asignatura es necesario aprobar ambas partes (teórica y práctica) por separado 8. Consideraciones finales La asignatura se podrá superar por la evaluación continua anteriormente descrita. En caso de no superar dicho método de evaluación, la evaluación se realizará en las convocatorias finales (ordinaria y extraordinaria), que consistirá en un examen teórico práctico sobre los bloques temáticos de la asignatura, siendo preciso, además, realizar la entrega y defensa de las prácticas que el profesor considere oportunas (manteniéndose la misma ponderación detallada con anterioridad: 80% para el examen teórico-práctico y 20% para la parte de prácticas). Universidad de Valladolid 7 de 7