Plan de la Materia - Departamento de Ciencias e Ingeniería de la

Anuncio
UNIVERSIDAD NACIONAL DEL SUR
BAHIA BLANCA
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION
PROGRAMA DE:
PROGRAMACION ORIENTADA A OBJETOS
1
3
CODIGO: 5746
AREA N°: I
HORAS DE CLASE
TEORICAS
Por semana
4
PROFESOR RESPONSABLE
PRACTICAS
Por
Por semana
4
Por
PABLO R. FILLOTTRANI
ASIGNATURAS CORRELATIVAS PRECEDENTES
APROBADAS
CURSADAS
ELEMENTOS DE PROGRAMACION
ESTRUCTURAS DE DATOS Y ALGORITMOS
DESCRIPCION:
El objetivo de la materia es introducir al alumno las técnicas y herramientas pertenecientes al
paradigma de programación determinado por el modelo orientado a objetos. Se comienza con una introducción a los
objetivos generales en el desarrollo de software: correctitud, eficiencia, reusabilidad, etc. Luego se introduce el
conepto de modularidad, y la necesidad de cambiar el paradigma imperativo de programación. A continuación se
muestran los conceptos generales propios del paradigma: clase, objetos, manejo de memoria, herencia, polimorfismo
y vinculación dinámica y se analiza la aplicación de estos conceptos en especial al lenguaje de programación Java,
pero comparándolos con otros lenguajes tales como C++, Smalltalk y Eiffel. Como resultado de ello el alumno
deber ser capaz de programar sistemas pequeños utilizando este paradigma, y de entender la aplicación de cada uno
de los conceptos vistos en distintos lenguajes de programación.
PROGRAMA SINTETICO:
Unidad 1: Introducción a la Programación Orientada a Objetos.
Unidad 2: Conceptos básicos de la Programación Orientada a Objetos: Objetos y Clases.
Unidad 3: Elementos Complementarios.
Unidad 4: Introducción al lenguaje Java.
Unidad 5: Conceptos básicos de la Programación Orientada a Objetos: Herencia.
Unidad 6: Desarrollo de aplicaciones usando paquetes estándares.
Unidad 7: La orientación a objetos en las ciencias de la computación.
VIGENCIA AÑOS
2001
UNIVERSIDAD NACIONAL DEL SUR
BAHIA BLANCA
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION
PROGRAMA DE:
PROGRAMACION ORIENTADA A OBJETOS
2
3
CODIGO: 5746
AREA N°: I
PROGRAMA ANALITICO:
Unidad 1: Introducción a la Programación Orientada a Objetos.
Motivaciones. Conceptos básicos: Objetos, Clases, Herencia. Objetivos: reusabilidad, programación en gran escala,
componentes de software. Niveles de abstracción. Orígenes de los lenguajes orientados a Objetos: revisión de la
historia de los lenguajes de programación. Inserción de los lenguajes orientados a objetos. Comparación con el
paradigma de la programación estructurada y el lenguaje Pascal.
Unidad 2: Conceptos esenciales de la Programación Orientada a Objetos: Objetos y Clases.
Clases: definición, elementos, notación. Modelo de computación de la POO. Ejecución de un sistema. Objetos:
definición, elementos, notación. Identidad de objetos. Manipulación de objetos por referencia y por valor. Manejo
de memoria. Reclamación de espacio y recolección automática de basura. Máquinas virtuales.
Unidad 3: Introducción al Lenguaje Java.
Historia y objetivos del lenguaje de progamación Java. Características de las plataformas Java. Máquina virtual de
Java, soportes. Propiedades fundamentales del lenguaje de programación. Applets y aplicaciones. Estructuras de los
sistemas. Sintaxis básica. Uso de ambientes de desarrollo de aplicaciones. Paquetes.
Unidad 4: Elementos Complementarios.
Genericidad. Clasificación de abstracciones. Clases Genéricas. Función del chequeo de tipos. Entidades genéricas.
Operaciones. Aserciones. Objetivos. Fórmulas de correctitud: precondiciones y postcondiciones. Modelo
cliente/servidor. Función de las pre y postcondiciones en este modelo. Invariantes de clase. Excepciones.
Conceptos básicos del manejo de excepciones. Modelos de manejadores. Soporte en el lenguaje Java.
Unidad 5: Conceptos esenciales de la Programación Orientada a Objetos: Herencia.
Objetivos. Terminología. Elementos y Notación. Polimorfismo. Chequeo de tipos y herencia. Aplicaciones.
Vinculación dinámica de código. Soporte en el lenguaje Java. Clases abstractas. Significado de la herencia.
Herencia y aserciones . Clasificación de los distintos usos de la herencia. Herencia simple versus herencia múltiple.
Conflictos de la herencia múltiple. Herencia repetida. Técnicas de los lenguajes para la resolución de estos
conflictos.
Unidad 6: Desarrollo de aplicaciones usando paquetes estándares (API’s)
Función de los API’s en el lenguaje Java. Paquetes fundamentales: java.lang y java.util. El paquete java.awt para
Interfaces gráficas al usuario (GUI). Arquitectura de una GUI y su interacción con otras clases del sistema. Modelo
de componentes y de manejo de eventos. Layouts. Manejo de gráficos y texto. Paquete java.swing. Otros paquetes
estándar de Java.
Unidad 7: La orientación a objetos en las Ciencias de la Computación.
Desarrollo de Software, Bases de Datos, Sistemas Operativos, Lenguajes de Programación. Introducción general a
otros lenguajes orientados a objetos (Smalltalk, C++).
VIGENCIA AÑOS
2001
UNIVERSIDAD NACIONAL DEL SUR
BAHIA BLANCA
DEPARTAMENTO DE CIENCIAS DE LA COMPUTACION
PROGRAMA DE:
PROGRAMACION ORIENTADA A OBJETOS
3
3
CODIGO: 5746
AREA N°: I
BIBLIOGRAFIA
"Object Oriented Software Construction" B. Meyer.
Prentice Hall.
"Designing Object-Oriented Software" R. Wirfs-Brock, B. Wilkerson, L. Wiener.
Prentice Hall.
"Object-Oriented Concepts, Databases and Applications" W. Kim, F. Lochovsky editores.
ACM Press- Addison Wesley
“The Java Programming Language”, 3rd. edition. K. Arnold, J. Gosling.
Addison Wesley.
“The Java Tutorial: Object Oriented Programming for the Internet” 2nd. edition. M.Campione, K. Walrath.
Addison Wesley.
“Object Oriented System Development” D. de Champeaux, D. Lea, P. Faure.
Addison Wesley.
"Smalltalk 80 The Interactive Programming Environment" A. Goldberg.
Addison Wesley.
"Smalltalk V for Windows"
Digitalk Inc.
AÑO
VIGENCIA DE ESTE PROGRAMA
PROFESOR RESPONSABLE
(Firma y aclaración)
AÑO
PROFESOR RESPONSABLE
(Firma y aclaración)
2001
CORDINADOR DE AREA
FECHA:
VIGENCIA AÑOS
VISADO
SECRETARIO ACADEMICO
DIRECTOR DEPARTAMENTO
FECHA APROB. CONSEJO DEPARTAMENTAL:
2001
Descargar