Departamento de Lenguajes y Ciencias de la Computación E.T.S.I. Informática. Univ. de Málaga. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 1 / 20
Presentación de la asignatura Información administrativa Objetivos de la asignatura Metodología docente Criterios de codificación y corrección Sistema de evaluación Programa de la asignatura Entorno de desarrollo Bibliografía Esta obra se encuentra bajo una licencia Reconocimiento-NoComercial-CompartirIgual 4.0 Internacional (CC BY-NC-SA 4.0) de Creative Commons. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 2 / 20
Grado: Ing. Software-B, Ing. Computadores-B, Ing. Informática-C. Profesor: Vicente Benjumea García email: vicente@lcc.uma.es Tutorías: (Despacho: 3.2.3) Lunes: 12:00 14:30 Miércoles: 16:00 17:30 Viernes: 17:30 19:30 Horario de Clases: (Aula Teoría: 3.0.2) Lunes: 17:30 19:15 Miércoles: 17:30 19:15 Viernes: 19:30 21:15 Laboratorios: Miércoles: 3.1.12 Alumnos desde la K hasta la Z, ambos inclusive Viernes: 3.1.12 Alumnos desde la A hasta la J, ambos inclusive Cambios de Grupo: Enviar un correo a vicente@lcc.uma.es, asunto: POO cambio de grupo, antes del 3 de Marzo, explicando las razones (justificables). Los estudiantes con reconocimiento de tiempo parcial deben especificar su condición en la justificación de la solicitud de cambio de grupo. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 3 / 20
Objetivos de la asignatura Introducir el paradigma de la Programación Orientada a Objetos El alumno conozca los conceptos teóricos del paradigma de la Programación Orientada a Objetos. El alumno conozca y utilice adecuadamente los mecanismos de la POO para la resolución de problemas. Aprenda a desenvolverse con las distintas librerías proporcionadas por los lenguajes OO. Se estudiará el lenguaje de programación Java. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 4 / 20
Metodología docente El desarrollo de las clases seguirá un enfoque práctico. Sesiones de teoría, con ejemplos y ejercicios. Teoría: en que se exponen los conceptos básicos. Ejemplos: para ilustrar los conceptos expuestos. Ejercicios: para afianzar y asimilar los conceptos adquiridos. Sesiones de laboratorio (Gr. reducidos B1 y B2). Laboratorio: se pondrán en práctica los conceptos adquiridos. Prácticas Adicionales Autónomas Desarrollo del videojuego Invasores del Espacio. Trabajo autónomo del alumno: al menos 6 horas semanales. Las presentaciones no son apuntes detallados. Se deben completar con las explicaciones y prácticas. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 5 / 20
Desarrollo del videojuego Invasores del Espacio. Cada semana, a partir de la semana cultural, se publicará la documentación para el desarrollo incremental de las clases. Cada semana se publicará el código con la solución de la semana anterior. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 6 / 20
Metodología docente Para un alumno de primer curso, lo más importante es la capacidad de trabajo autónomo y esfuerzo desde el primer día del curso. Los alumnos deben ser conscientes de que deben gestionar su tiempo, trabajo y esfuerzo adecuadamente desde el principio del curso, incluso aunque el profesor no les haya puesto ninguna tarea explícitamente. El aprendizaje necesita de un esfuerzo y dedicación continuada, y una asimilación progresiva de los conceptos. No es posible adquirir los conocimientos proporcionados y requeridos en una asignatura en un corto espacio de tiempo, su asimilación debe ser progresiva y continuada a lo largo del curso. Los alumnos hacen muy poco uso de las tutorías, y es un recurso que utilizado adecuadamente (por alumnos que trabajen adecuadamente y de forma continuada a lo largo del curso) proporciona numerosas ventajas de aprendizaje. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 7 / 20
Criterios de codificación y corrección El número de iteraciones que realiza un determinado bucle (for, while, do-while) no puede estar condicionado por la utilización de las sentencias return, break, continue. El numero de iteraciones que realiza el bucle for debe quedar claramente especificado en la cabecera del mismo. Dentro del cuerpo del bucle for no se puede modificar la variable de control del bucle. En las funciones y métodos sólo está permitido una única sentencia return, y debe ser la última sentencia del cuerpo del mismo. Estos criterios de codificación serán considerados en la corrección del código proporcionado por el alumno. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 8 / 20
Sistema de Evaluación Con Evaluación Continua Convocatorias de Junio y Septiembre Los alumnos que hayan realizado los controles y entregado un mínimo del 60 % de las actividades propuestas se considerará que siguen el proceso de evaluación continua. La subida de prácticas debe hacerse desde el laboratorio. Para los alumnos que siguen el proceso de evaluación continua, la calificación en las convocatorias de Junio y Septiembre se realiza de la siguiente forma: Se califican las actividades realizadas durante el curso sobre un máximo de 3 puntos. Cuestionarios teóricos: 1 punto Control práctico en laboratorio: 2 puntos Se califica un examen final con un máximo de 10 puntos menos lo obtenido en el apartado anterior. La calificación final será la suma de las calificaciones Se aprueba con un mínimo de 5 sobre 10 puntos. Final = 0, 1 Teoria + 0, 2 Ctrl + 10 (0,1 Teoria+0,2 Control) Examen 10 Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 9 / 20
Sistema de Evaluación Sin Evaluación Continua Convocatorias de Junio, Septiembre y Resto de Convocatorias Para calcular la calificación en las convocatorias de Junio y Septiembre de los alumnos que no han seguido el proceso de evaluación continua y para todos los alumnos el resto de las convocatorias extraordinarias: Se califica un cuestionario teórico sobre un máximo de 3 puntos. Se califica un examen final sobre un máximo de 7 puntos. La calificación final será la suma de las calificaciones Se aprueba con un mínimo de 5 sobre 10 puntos. Final = 0, 3 Teoria + 0, 7 Examen Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 10 / 20
Programa de la asignatura Tema 1. Introducción a la programación orientada a objetos Tema 2. Introducción a Java Tema 3. Tratamiento de excepciones Tema 4. Clases básicas predefinidas. Entrada/Salida Tema 5. Colecciones e iteradores Tema 6. Interfaces gráficas de usuario Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 11 / 20
Tema 1. Introducción a la programación orientada a objetos Evolución de los lenguajes de programación Conceptos fundamentales de la POO: Clases y objetos Metodos, mensajes y atributos Composición y herencia Polimorfismo y vinculación dinámica Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 12 / 20
Tema 2. Introducción a Java Introducción a Java Programas y paquetes Clases y objetos, tipos y variables Elementos del lenguaje Control de errores Cadenas de caracteres Arrays Herencia, polimorfismo y vinculación dinámica Clases abstractas e interfaces Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 13 / 20
Tema 3. Tratamiento de excepciones Software tolerante a fallos. El concepto de excepción Captura y tratamiento de excepciones Propagación de excepciones Excepciones predefinidas Definición de nuevas excepciones Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 14 / 20
Tema 4. Clases básicas predefinidas. Entrada/Salida Organización en paquetes Clases básicas: java.lang Clases básicas del paquete java.util Entrada/Salida. java.io Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 15 / 20
Tema 5. Colecciones e iteradores Clases genéricas Colecciones Las interfaces básicas y sus implementaciones Conjuntos, listas y correspondencias Clases ordenables Colecciones y correspondencias ordenadas. Decoradores Algoritmos sobre arrays. La clase Arrays. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 16 / 20
Tema 6. Interfaces gráficas de usuario Los paquetes java.awt y javax.swing Diseño de Interfaces Gráficas de Usuario (GUIs) El patrón de diseño Modelo-Vista-Controlador (MVC) Conexión Vista-Controlador: el modelo de eventos Interfaces para implementar controladores Un ejemplo Modelo-Vista-Controlador Vistas Componentes, Contenedores, Gestores de Esquemas Un ejemplo completo Pintar en Swing Otros enfoques alternativos Un ejemplo MVC Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 17 / 20
Java 2 SDK, Standard Edition (J2SE) Java Development Kit (JDK). Java 2 Platform, Standard Edition, 8.0 (v. 1.8) http://www.oracle.com/technetwork/java/javase/downloads/index.html Documentación API http://docs.oracle.com/javase/8/docs/api/index.html Descarga de la Documentación de la API de Java (para almacenamiento local) http://www.oracle.com/technetwork/java/javase/documentation/jdk8-doc-downloads-2133158.html Entorno (IDE): Eclipse IDE for Java Developers. Eclipse mars http://www.eclipse.org/downloads/ Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 18 / 20
Bibliografía Básica S. Reges y M. Stepp. Building Java Programs: a back to basics approach. Pearson, 2011. Fco. Durán, Fco. Gutiérrez y E. Pimentel Programación Orientada a Objetos con Java. Thomson, 2007. M. Campione, K. Walrath y A. Huml The Java tutorial: a short course on the basics. Addison-Wesley, 2001. http://docs.oracle.com/javase/tutorial/ K. Arnold, J. Gosling y D. Holmes El lenguaje de programación Java. Addison-Wesley, 2001. D. Arnow y G. Weiss Introducción a la programación con Java: un enfoque orientado a objetos. Addison-Wesley, 2000. P. Deitel y H. Deitel Java SE 8 for Programmers. Prentice Hall, 2014. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 19 / 20
Bibliografía Complementaria K. Mughal y R. Rasmunssen A Programmer s Guide to Java Certification. Addison-Wesley, 1999. M. Campione, K. Walrath y A. Huml The Java tutorial continued: the rest of the JDK. Addison-Wesley, 2003. http://docs.oracle.com/javase/tutorial/ K. Walrath y M. Campione The JFC Swing tutorial: a guide constructing GUIs. Addison-Wesley, 2001. http://docs.oracle.com/javase/tutorial/ B. Eckel Thinking in Java. Prentice Hall, 2003. http://www.mindview.net/books/tij I. Horton Beginning Java. Jon willey & Son, 2011. Departamento de Lenguajes y Ciencias de la Computación Programación Orientada a Objetos E.T.S.I. Informática. Univ. de Málaga. 20 / 20