Facultad de Informática

Curso académico 2002-2003

Asignatura:                Laboratorio de programación III

Código(s):                  425

Titulación(es):           Facultad de Informática

Curso:                        

Créditos:                    6

Profesor(es):             José Luis Sierra Rodríguez (grupo A) y Baltasar Fernández Manjón (grupo B)

Departamento:          Sistemas Informáticos y Programación

Observaciones:

En esta asignatura se supone un conocimiento previo de las materias tratadas en las asignaturas de programación de los dos primeros cursos y, especialmente, de las estructuras de datos y de los rudimentos básicos de la programación orientada a objetos.

 

Resumen del programa:

El objetivo del laboratorio es dotar a los alumnos de la pericia necesaria para llevar a cabo proyectos de programación de complejidad no trivial. Para ello se incidirá en la aplicación sistemática de técnicas modernas de desarrollo de software. Se propondrá la realización de varias prácticas, cada una de las cuáles incide en una o varias de estas técnicas. Se podrá especial énfasis en el uso de patrones de diseño, en la familiarización con el uso de marcos de aplicación y en el desarrollo de aplicaciones interactivas.

 

Resumen del programa en inglés:

The goal of the course is to provide the students with the expertise required in the development of non-trivial programming projects. The course is focused on the sistematic use of moderm software development techniques. Students will work on the development of several programs, each one focused on the use of one or serveral techniques. Course will be focused on Design Patterns, Application Frameworks and the development of Interactive Applications.

 

Programa detallado:

La asignatura es fundamentalmente práctica. Se propondrá una serie de prácticas que los alumnos deberán realizar (en grupos, como máximo, de dos integrantes) en el laboratorio, y utilizando Java como lenguaje de implementación. En las clases teóricas se cubrirá (no necesariamente en este orden) los siguientes puntos:

1)     El Lenguaje Java. Introducción. Elementos básicos del Lenguaje. Clases y Objetos. Herencia e Interfaces. Strings y Arrays. Paquetes. Excepciones. Clases Anidadas, Internas y Anónimas.

2)     Bibliotecas y Marcos de Aplicación en J2SE. El framework de colecciones. El framework de entrada/salida. El framework Swing para la construcción de Interfaces de Usuario. Otros frameworks de aplicación (dependiendo de la naturaleza de las prácticas propuestas).

3)     Patrones de Diseño Orientado a Objetos. El patrón estrategia. El patrón visitante. El patrón mediador. Otros patrones (dependiendo de la naturaleza de las prácticas propuestas).

4)     Desarrollo de Aplicaciones Interactivas. Desarrollo de Interfaces Gráficas de Usuario con Swing. La arquitectura MVC y la estructuración de las aplicaciones interactivas. MVC en Swing.

5)     Otros temas. Documentación de programas Java. Documentación de Diseño (Introducción a las notaciones de diseño orientado a objetos). Panorama de las tecnologías Java (charla de cierre del curso).

 

Bibliografía:

Básica (por orden de prioridad):

·       Libros sobre Java

·       Sánchez Allende, J., Huecas, G, Fernández Manjón, B., Moreno, P. Java 2: Iniciación y Referencia. Ed. McGraw-Hill. (ISBN: 8448131800). 2001.

·       The Java Tutorial. Sun Microsystems. 2001.

·       Arnold, K. Gosling, J. The Java Programming Language (Third Edition). Addison-Wesley. 2000.

·       Eckel B. Piensa en Java (segunda edición),  Prentice Hall. 2002

·       Libros sobre Patrones de Diseño

·       Gamma,E. Helm, R. Johnson,R. Vlissides, J. Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley. 1995.

Complementaria:

·       Gosling,J.Joy,B.Steele,G.Bracha,G. The Java Language Specification. Second Edition. Addison-Wesley. 2000.

·       Zukowski, J. John Zukowski's Definitive Swing Guide. Emeryville, CA : APress, cop. 1999

·       Felleisen, M. Frieman,D.P. A Little Java, A Few Patterns. MIT Press. 1997.

·       (Varios Autores). Professional Java Server Programming J2EE 1.3 Edition. Wrox Press Ltd. 2001.

·       Booch, G. Rumbaugh,J. Jacobson,I. The Unified Modeling Language User Guide. Addison-Wesley. 1999.

·       Abelson, H. Sussman, G. Structure and Interpretation of Computer Programs. Second Edition. MIT Press. 1996.

·       Stevens, P. Utilización de UML, Addison-Wesley. 2002.

 

Desarrollo de la asignatura:

La asignatura es fundamentalmente práctica. Se impartirá una hora teórica a la semana, en el aula, en la que se explicarán los conceptos necesarios para la realización satisfactoria de las prácticas, y se dispondrá de tres horas prácticas adicionales, que transcurrirán en el laboratorio. Las prácticas se realizarán en grupos formados por, a lo sumo, dos personas.

 

Método de evaluación:

·       La evaluación se llevará a cabo en base a las prácticas realizadas.  Debido al carácter eminentemente práctico de la asignatura será imprescindible para aprobar, así mismo, la asistencia a, al menos, el 80% de las clases prácticas.

·       Cada práctica deberá entregarse en los plazos y formas prefijadas (el incumplimiento de dichos plazos y formas será condición suficiente para suspender la práctica).

·       La entrega y corrección de prácticas se realizará exclusivamente en el laboratorio en el horario y turno correspondiente para cada grupo de prácticas.

·       Para aprobar en la convocatoria de Febrero es necesario haber superado todas las prácticas en dicha convocatoria. El profesor podrá realizar una prueba escrita para contrastar los resultados y conocimientos adquiridos por el alumno.

·       Las prácticas suspensas en Febrero pueden entregarse, debidamente modificadas, en la convocatoria de Septiembre. Para aprobar en Septiembre deberá haberse superado todas las prácticas, bien por curso, bien en dicha convocatoria. Para la convocatoria de septiembre el profesor podrá proponer la realización de prácticas extraordinarias.

·       La detección de prácticas copiadas, o no realizadas por todos los alumnos que la entregan, supondrá automáticamente el suspenso para todos los alumnos involucrados.