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