Download nota de régimen interior
Document related concepts
no text concepts found
Transcript
PROGRAM A DE ASIGNATURA CURSO ACADÉMICO 2001/02 Fecha de Edición: 9/11/2001 Área de Titulación: Ingeniería Técnica en Informática de Sistemas Asignatura: PROGRAMACION ORIENTADA A OBJETOS Curso: optativa Duración (Anual/Cuatrimestral): Cuatrimestral Carácter: Optativa INDICE Créditos: 4.5 1. Objetivos del programa El objetivo general de la enseñanza de la Programación es capacitar a los alumnos para construir metódicamente programas legibles, bien documentados, correctos, eficientes y fáciles de mantener y reutilizar. Dentro de este marco, la Programación orientada a objetos (POO) introduce una serie de técnicas y mecanismos que favorecen fundamentalmente los dos últimos criterios de calidad: la facilidad para mantener y modificar los programas, y la posibilidad de desarrollar programas o componentes fácilmente reutilizables. El núcleo del curso se ocupa del estudio de los mecanismos que definen el paradigma de la POO, como son el desarrollo de aplicaciones en términos de clases de objetos, la organización de las clases en jerarquías con herencia, el polimorfismo y la vinculación dinámica. Tomando Java como lenguaje de referencia, para cada mecanismo concreto se exploran distintas alternativas presentes en un lenguaje orientado a objetos. 2. Temario Tema 00. Una introducción a la programación orientada a objetos: conceptos básicos; lenguajes orientados a objetos; revisión histórica; desarrollo de software: calidad, modularidad y reutilización; diseño orientado a objetos; programación orientada a objetos y tipos abstractos de datos. Tema 01. Introducción al entorno de Java: Java Virtual Machine. La plataforma Java. Estructura de un programa Java. Gestión de ficheros y directorios. Programas independientes. Applets. Ejemplo Práctico de entorno de desarrollo. Tema 02. Aspectos básicos del lenguaje Java. Variables y tipos de datos simples. Expresiones y operadores. Estructuras de control. Contenedores y referencias. Arrays y Strings. Envoltorios Tema 03. Clases y objetos: clases; objetos; Repaso conceptos OO. Definición de clases y creación de objetos. Alias. Atributos y métodos (de instancia y de clase). Paso de parámetros. Autoreferencia this. Constructores. Sobrecarga de métodos. Derechos de acceso de los atributos y métodos. Paquetes. Derechos de acceso. Clases predefinidas: Math, String. Tema 04. Clases y objetos a fondo. Relaciones de asociación y composición de clases. Relación de Herencia. Polimorfismo y Vinculación dinámica. Compatibilidad entre clases de una jerarquía de herencia. Redefinición o reescritura.. Super. Cadena de constructores. Clases Página 1 de 3 abstractas. Métodos virtuales o abstractos. Tema 05. Estructuras de almacenamiento. Creación de una estructura de almacenamiento usando arrays: Almacén. Clase Vector. Interfaces: Collection, Set,List,Map; Clases: ArrayList, LinkedList… Tema 06. Entrada-Salida. Flujo de datos. InputStream, OutputStream. Entrada-Salida estándar. Lectura –escritura en archivo. Ejemplos de clase útiles: Console, EasyInput, Teclado. Manejo de excepciones. Propagación de excepciones. Tema 07. Interfaces Gráficas de Usuario. AWT, Swing. Jerarquía de widgets: Frame, Label, AreaText, Panel,Canvas,List,Button, TextBox, TextField. Construcción de elementos. Layout managers (organizador de contenedores). Colocación de widgets. Interacción con el usuario: responder a eventos. Tema 08. Applets. Definición. Ejemplos. Eventos. 3. Desarrollo de la asignatura La exposición teórica de los diferentes conceptos y técnicas se irá intercalando en las clases con el planteamiento y resolución de ejercicios y problemas que ilustren la teoría y muestren sus posibles aplicaciones. Los alumnos que cursen también la asignatura Laboratorio de Programación de Sistemas (lo que resulta altamente recomendable) realizarán prácticas que les permitirán asentar los conocimientos adquiridos en la presente asignatura. 4. Forma de evaluación La evaluación se realizará mediante un examen final (convocatorias de febrero y septiembre) y mediante la evaluación de hojas de ejercicios y prácticas. 5. Bibliografía Básica Java 2: Iniciación y Referencia. Sánchez Allende, J., Huecas, G, Fernández Manjón, B., Moreno, P., 2001. Ed. McGraw-Hill. Piensa en Java. Eckel, Bruce, 2ª ed. 2001, Prentice Hall . ISBN: 84-205-3192-8 Introducción a la Programación en Java. Un enfoque Orientado a Objetos, Arnow, D., Weiss, G., Prentice Hall, 2000 Complementaria: Construcción de software orientado a objetos. B. Meyer.. Prentice Hall. 1998. A practical introduction to Data Structures and Algorithms with Java. Shaffer, Prentice Hall, 1998 6. Enlaces de interés en Internet POO: ObjectiveView, una revista sobre objetos y componentes accesible por Internet Object-Oriented Information Sources ECCOP home page Página 2 de 3 Bruce Eckel The Standard Template Library Online Reference CodeGuru. Material para programadores en Java, C++, ... Java: General The SUN Microsystems Java Source The Java Developer's Connection IBM Resource for Java Developers Java Zine (Java resources magazine) Gamelan Java Resource Site Club Java (Virtual Rendezvous Java Resource Site) Tutorials The Java Tutorial (Java Series Book online) Java CourseWare (Misc. academic course notes) Brewing Java: A Tutorial Lecture notes on Java & Pizza La información actualizada sobre esta asignatura se encuentra disponible en www.cesfelipesegundo.com Página 3 de 3