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:
3º
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.