|
Universidad Rey Juan Carlos |
SOFTWARE AVANZADO PROGRAMA DE LA ASIGNATURA
|
|
Asignatura: Troncal
Ciclo/Curso.Cuatrimestre: 1/4.2 en IITG + LADE
Horario de tutorías en Móstoles: martes y jueves de
10:00 a 12:00. En el tablón de anuncios se puede encontrar información actualizada sobre la asignatura. Existe unos apuntes que abarcan la materia impartida en la asignatura, y un libro que también la abarca y además amplia ciertos contenidos. Índice Tema 1.- Introducción a la programación orientada a objetos. Complejidad del software: origen y tratamiento, herramientas para tratar la complejidad, evolución de los lenguajes de programación, paradigmas de programación, programación orientada a objetos, abstraer, encapsular, jerarquizar, modularizar, tipo, concurrencia, persistencia. Tema 2.- Introducción al lenguaje Java. Introducción, breve historia de Java, la máquina virtual de Java, compiladores de Java, entornos de desarrollo para Java, el programa hola mundo, los comentarios, juego de instrucciones, expresiones básicas y control de flujo, tipos primitivos, conversiones entre tipos primitivos, operadores, control del flujo, los paquetes, las clases, declaración de los métodos de una clase, declaración de las propiedades de una clase, modificador de control de acceso a los miembros, modificador de uso de los miembros, los métodos en detalle, las propiedades en detalle, creación de objetos, destrucción de objetos, bloques de inicialización, tipos de clases , ejemplo de la pila de enteros, definición de arrays de objetos y de tipos primitivos. Tema 3.- La herencia en Java. La herencia de clases, herencia en clases internas, redefinición de miembros, la herencia y los constructores, polimorfismo dinámico, el casting de referencias a objetos, las interfaces. Tema 4.- El paquete java.lang. La clase object, a clase string, las excepciones, tipos de excepciones, el uso práctico de las excepciones, interfaces cloneable y comparable, interfaz cloneable, interfaz comparable, la concurrencia, mecanismos de compartición y comunicación, la genericidad, clases e interfaces genéricas, métodos con tipos parametrizados, los tipos enumerados, envolturas. Tema 5.- Diseño de clases. Aspectos a tener en cuenta al definir relaciones, versatilidad, temporalidad, visibilidad, otros criterios, relaciones de dependencia entre objetos, dimensión estática, dimensión dinámica, cuándo y cómo usar relaciones de dependencia, relaciones de asociación entre objetos, dimensión estática, dimensión dinámica, cuándo y cómo usar las relaciones de asociación, relaciones entre clases, dimensión estática, dimensión dinámica, cuándo y cómo utilizar las relaciones de herencia,
Tema 6.- Entrada salida en Java. El paquete java.io, streams de bytes, streams de caracteres, streams del sistema, streamtokenizer, manejo de ficheros, la interfaz serializable. Tema 7.- Estructuras de datos en Java. Contenedores de java.util, collection, map, contenedores conscientes del tipo, iteradores, el resto del paquete java.util. Tema 8.- Principios y patrones. Principios de la programación orientada a objetos, el principio abierto-cerrado, el principio de liskov, el principio de segregación de intefaces, patrones de diseño, método de fabricación (factory-method), adaptador o envoltorio (adapter o wrapper), decorador (decorator), composición (composite), iterador (iterator), estrategia (estrategy), observador (observer). Tema 9.- El resto de paquetes estratégicos de Java. GUI de usuario: awt y swing, eventos, componentes, aplicaciones distribuidas e Internet, applets, servlets, JSP - Java Server Pages, Java Web Start, RMI , componentes enterprise JavaBeans (EJB), comunicación con otros sistemas, JNI, JDBC. Bibliografía
básica 1.- Diseñar y Programar todo es empezar. J. Vélez, A. Peña, P. Gortazar y A. Sánchez. Dykinson. 2011. ISBN 978-84-9982-074-3 2.- Análisis y diseño Orientada a Objetos. Booch, G., A", Addison-Wesley, 1996. ISBN 0805353402 3.- UML Gota a Gota. M. Fowler, Pearson 1999. ISBN 9684443641. 4.- Piensa en Java.- Bruce Eckel, Prentice Hall , 2007.
Bibliografía
complementaria 1.- Patrones de diseño.- Gamma y otros.
Addison-Wesley, 1995.
2.- Effective Java.- Joshua Bloch, Addison-Wesley 2008. 3.- Java and Object orietation. John Hunt,Springer, 1998. ISBN 3540762019 4.- Introducción a la programación Orientada a Objetos. Budd, T. Addison-Wesley. ISBN 0201601036. 5.- Cómo programar en Java. H. M. Deitel y P. J. Deitel. Prentice Hall. ISBN: 9701700449. 6.- Aprenda Java: Como si estuviese en primero. Universidad de Navarra, Javier García y otros, 1999. Download
Objetivos Que los alumnos
adquieran los fundamentos para realizar programación
orientada a objetos. Los alumnos deberán aprender a realizar
diseño orientado a objetos y deberán afianzar sus
conocimientos sobre las ventajas de la encapsulación.
Además deberán comprender y utilizar los
mecanismos de herencia y polimorfismo.
Metodología La asignatura se imparte un 80%
en aula de teoría y un 20% en aula de prácticas.
Tanto la parte teórica como la práctica esta apoyada por
un texto dispobible electrónicamente.
Sistema
de evaluación Un examen
teórico práctico para el 80% de la nota, y una práctica con
un 20% de la nota.
|