Вы находитесь на странице: 1из 9

Universidad Tecnolgica Nacional

Facultad Regional Concepcin del Uruguay

Ingeniera en Sistemas de Informacin

Taller de Programacin
Concurrente y Distribuida

- Planificacin de ctedra -
Prof. Ing. Ulises M. A. Rapallini

Ao 2008
Ingeniera en Sistemas de Informacin
5to ao
Primer Cuatrimestre
6 horas semanales
Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

Contenidos

Objetivos ...................................................................................................................................... 3
Objetivos Generales .................................................................................................................. 3
Objetivos Especficos ................................................................................................................ 3
Programa analtico de la asignatura - 2008 .............................................................................. 3
Unidad 1: Repaso de POO ........................................................................................................ 3
Unidad 2: Paquetes y mecanismos bsicos en Java ................................................................ 3
Unidad 3: Programacin concurrente........................................................................................ 4
Unidad 4: Programacin distribuida .......................................................................................... 4
Unidad 5: Interfaces Grficas .................................................................................................... 5
Metodologa de trabajo ............................................................................................................... 5
Evaluaciones ............................................................................................................................... 5
Diagnostico ................................................................................................................................ 5
Evaluacin continua................................................................................................................... 5
Evaluacin de acreditacin........................................................................................................ 5
Bibliografa................................................................................................................................... 6
Bibliografa general.................................................................................................................... 6
Bibliografa por unidad............................................................................................................... 6
Listado de trabajos prcticos .................................................................................................... 6
TP 1: Introduccin a Java - Tipos de Variables, Manejo de Arrays, Clases y Objetos............. 6
TP 2: Clases Abstarctas, Herencia, Sobrecarga y Polimorfismo, Clase Vector, modelo OOP y
UML. .......................................................................................................................................... 7
TP 3: Uso de Paquetes, Clases Wrappers, Casting y Excepciones ......................................... 7
TP 4: Programacin concurrente, Streams E/S, Manejo bsico de threads............................. 7
TP 5: Programacin concurrente, Threads y Aplicaciones MultiThreads ................................. 7
TP 6: Programacin Distribuida, UDP y TCP ............................................................................ 7
TP 7: Programacin Distribuida, RMI ........................................................................................ 7
TP 8: Programacin Distribuida, acceso a datos con JDBC ..................................................... 7
TP 9: AWT y SWING, Modelo Vista-Controlador ...................................................................... 7
TP 10: Programacin Distribuida, Applets y la WWW............................................................... 8
Condiciones de regularidad y/o promocin ............................................................................. 9
Regularidad ............................................................................................................................... 9
Promocin.................................................................................................................................. 9
Recursos necesarios .................................................................................................................. 9

Prof. Ing. Ulises Rapallini -2


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

Objetivos
Dado que se trata de una asignatura de Taller los objetivos estn referidos a aplicacin de
conceptos a trabajos prcticos, en particular a la herramienta de programacin Java.

Objetivos Generales
 Que el alumno adquiera los conocimientos bsicos requeridos para programar
aplicaciones de forma concurrente y distribuida.

Objetivos Especficos
 Que el alumno sea capaz de desarrollar aplicaciones concurrentes en Java.
 Que el alumno sea capaz de desarrollar aplicaciones distribuidas en Java.
 Que el alumno sea capaz de modelar aplicaciones multihilo y distribuidas en Java
con acceso a bases de datos.

Programa analtico de la asignatura - 2008


Unidad 1: Repaso de POO
1. Orientacin a Objetos en JAVA
1.1. Conceptos de : Clases. Objetos. Atributos. Mtodos y Constructores.
1.2. Conceptos de : Clases Abstractas. Interfaces. Implementaciones.
1.3. Conceptos de : Herencia y Polimorfismo en Java.
1.4. Terminologa Bsica de Java.
2. Sintaxis Bsica de Java
2.1. Tipos de datos primitivos. Variables. Operadores.
2.2. Estructuras de control. Objetos y Estructuras de datos.
2.3. Crear una Clase. Definir atributos. Definir mtodos.
2.4. Variables miembro. Modificadores de mbito. Uso de clases.
2.5. Datos Numricos. Caracteres y Strings. Casting.

Bibliografia
Deitel/Deitel [DD1] : Capitulos: 2,4,5,6, 11
Horstmann/ Corrnell [WC1]: Captulos 1,2,3 y 4.

Unidad 2: Paquetes y mecanismos bsicos en


Java
1. Introduccin a los paquetes de Java - Explorando el paquete java.lang
1.1. Streams. Systems. Strings. Wrappers. Math.
1.2. Arrays y matrices en Java : Definiciones. Declaraciones. Datos en los arrays. Uso.
1.3. Matrices o vector multidimencional. Clase Vector.
2. Excepciones
2.1. Captura de Excepciones try, catch, finally.
2.2. Programacin de Excepciones, lanzamiento. Throw y Throws.
3. Herencia, Sobrecarga y polimorfismo.
3.1. Herencia Simple, mbito y Visibilidad en la herencia.

Prof. Ing. Ulises Rapallini -3


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

3.2. Superclase, llamada a constructores de la superclase, referencia a la clase y la


superclase.
4. Archivos, Streams, Entrada y salida
4.1. Entrada y salida de Java. Clases File.
4.2. Streams. DataInputStream. DataOutPutStream.

Bibliografia
Deitel/Deitel [DD1] : Captulos: 7,8,9,10,15,17
Horstmann/ Corrnell [WC1]: Captulos 3, 4, 5, 6, 11 y 12.
Horstmann/ Corrnell [WC2]: Capitulo 2
E. Rusty Harol [ER1] : Capitulo 4

Unidad 3: Programacin concurrente


1. Concurrencia en Java
1.1. Clase Thread, objetos. usos.
1.2. Clases derivadas de Threads.
2. Mecanismos utilizados en Concurrencia
2.1. Sincronizacin entre hilos
2.2. Grupos de hilos
2.3. Recursos Compartidos
3. Aplicaciones Multithreads.

Bibliografia
Deitel/Deitel [DD1] : Capitulos: 16
S. Oaks/H. Wong [OW1] : todo el libro
E. Rusty Harol [ER1] : Capitulo 2, 3, 5, 6, 7, 10,11, 12, 13 , 15 y 16
Horstmann/ Corrnell [WC2]: Capitulo 1, 3, 5
Horstmann/ Corrnell [WC1]: Capitulos 1,2 y 4.

Unidad 4: Programacin distribuida


1. Comunicacin entre procesos distribuidos
1.1. Conceptos sobre el modelo Cliente/Servidor.
1.2. Sockets TCP , Cliente y Servidor
1.3. Sockets UDP, Cliente y Servidor
2. Envo y recepcin de datos.
2.1. Caracteres ASCII, Caracteres UNICODE, UTF (Universal Tranfer Format).
2.2. Serializacin de datos, Clases se soporte para la serializacin de objetos.
3. Objetos distribuidos
3.1. RMI, Utilizacin de RMI
3.2. Invocacin a mtodos remotos.
4. World Wide Web
4.1. Clase URL
4.2. HTML y Applets.
4.3. Creacin de Applets. Ciclo de vida. Limitaciones, Paso de parametros
4.4. Las clases Graphics y Canvas. La clase Image.
5. Bases de Datos
5.1. JDBC
5.2. Clases principales para manejar un DBMS.

Bibliografia
Deitel/Deitel [DD1] : Capitulos: 18,23
Horstmann/ Corrnell [WC1]: Capitulos 7, 10.
Horstmann/ Corrnell [WC2]: Capitulo 10
E. Rusty Harol [ER1] : Capitulo 9

Prof. Ing. Ulises Rapallini -4


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

Unidad 5: Interfaces Grficas


1. Abstract Window Toolkit (AWT)
1.1. Frames. LayOut, Paneles, Botones, Textos, Listas, Option
1.2. Manejo de Eventos AWT, escuchadores.
1.3. Programacin de Interfaces de Usuario Con Herramientas RAD.
2. Interfaz SWING
2.1. JFrames, JControles, Escritorio,
2.2. Eventos en Swing.

Bibliografia
Deitel/Deitel [DD1] : Capitulos: 12,13,14
M Robinson/P Vorobiew [RV1] : todo el libro.
Horstmann/ Corrnell [WC1]: Capitulos 7,8,9.
Horstmann/ Corrnell [WC2]: Capitulo 6, 7

Metodologa de trabajo
Distribucin del tiempo
Se dictan clases 1 vez por semana, correspondientes a 6 horas ctedras, los das Martes de 19
hs a 23:45hs.

Metodologa
El tiempo de dictado de clases se divide aproximadamente en dos partes, la primer parte
Terica donde los docentes expondrn una introduccin a los temas de clase, con ejemplos de
programacin y ejercicios a completar por el alumno. La segunda parte de la clase se propone
realizar ejercicios guiados por el docente y el auxiliar en el laboratorio.

En las guas existen ejercicios a entregar, el tiempo de realizacin y de entrega depender de


la complejidad del trabajo, los trabajos estn diseados para entregar 15 o 21 das a partir de la
clase presentacin del tema.

Evaluaciones
Diagnostico
Se tomara una evaluacin de diagnostico sobre temas fundamentales bsicos de programacin
orientada a objetos, modelos de programacion y modelado UML.

Evaluacin continua
Se podrn realizar evaluaciones peridicas parciales con el objetivo de determinar y corregir
posibles problemas en el proceso de enseanza aprendizaje.

Evaluacin de acreditacin
Se realizaran una evaluacin con dos recuperatorios, ms una evaluacin integradora final .
Esta ltima consiste en un trabajo integrador de programacin donde se apliquen los conceptos
estudiados durante el curso.

Prof. Ing. Ulises Rapallini -5


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

Bibliografa
Bibliografa general
Libros que el alumno deber leer y/o estudiar de acuerdo al detalle bibliogrfico en el programa
analtico y las indicaciones del docente a cargo.

 [SM1] Sun Microsystems : Java 2 SDK, Standard Edition


Documentation - http://java.sum.com 2008

 [DD1] Deite/Deitel : Java Como programar Ed. 5ta 2004

 [HC1] Cay S. HorstMann / Gary Cornell : Java 2 Fundamentos


Prentice Hall / Sun Microsystems 2003

 [HC2] Cay S. HorstMann / Gary Cornell : Java 2 Caractersticas


Avanzadas Prentice Hall/Sun Microsystems 2003

 [ER1] Elliotte Rusty Harold : Java Network Programming 2da ed. -


OReilly 2001

 [OW1] Scoot. Oaks & Henry Wong : Java Threads 2da ed. -
OReilly 2000.

 [RV1] Matthew Robinson/ Pavel Vorobiew : Swing


http://theadmin.data.bg 2002.

Bibliografa por unidad


La bibliografa esta detallada en programa analtico

Listado de trabajos prcticos

TP 1: Introduccin a Java - Tipos de


Variables, Manejo de Arrays, Clases y
Objetos
Tipos primitivos de Datos. Estructuras de Control. Clases. Ejemplos y problemas para resolver.

Crear clases utilizando diferentes tipos de variables, armar clases base para una aplicacin o
utilizar las clases programadas. Problemas para resolver

Ejemplos y ejercicios utilizando arrays. Vectores del tipo primitivos. Vectores de Objetos.
Vectores de Vectores, Manejo dinmico Utilizar la clase Vector.

Prof. Ing. Ulises Rapallini -6


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

TP 2: Clases Abstarctas, Herencia,


Sobrecarga y Polimorfismo, Clase Vector,
modelo OOP y UML.
Ejemplos y ejercicios para programar clases abstractas. Planteo de problemas para desarrollar
modelos utilizando herencia.

Planteo de problemas para utilizar sobrecarga. Ejemplos de Clases polimorficas.

Se plantea el desarrollo de aplicaciones donde el alumno deber disear clases y modelar el


problema, tambin tendr que utilizar vectores.

TP 3: Uso de Paquetes, Clases Wrappers,


Casting y Excepciones
Planteo de problemas para utilizar las clases del paquete java.lang y java.util. Realizar Casting
de variables.
Ejemplos y ejercicios utilizando Excepciones. Utilizacin de excepciones de Java,
Programacin de excepciones. Lanzamiento y captura de excepciones.

TP 4: Programacin concurrente, Streams E/S,


Manejo bsico de threads
Ejemplos y ejercicios de E/S. Manejo de Archivos, Entrada y Salida estndar. Streams de E/S

Programacin de Hilos, aplicaciones de ejemplo. Planteo de problemas para utilizar hilos.

TP 5: Programacin concurrente, Threads y


Aplicaciones MultiThreads
Aplicaciones multiThreads. Aplicaciones de ejemplo. Acceso Sincronizado a variables y
objetos. Planteo de problemas para utilizar hilos.

TP 6: Programacin Distribuida, UDP y TCP


Ejemplos de programacin de Sockets. Sockets TCP y UDP (DatagramSocket).
Comunicacin entre dos aplicaciones utilizando Sockets UDP y TCP.
Codificacin UTF, Formato de los mensajes, Serializacin de Objetos
Transferencia de mensajes utilizando Sockets.

TP 7: Programacin Distribuida, RMI


Utilizacin de la Clase URL. Comunicacin entre Aplicaciones utilizando Llamada a Mtodos
Remotos (RMI).

TP 8: Programacin Distribuida, acceso a


datos con JDBC
Conexiones a bases de datos, conectarse a PostgreSQL, consultas SQL, acceso a
procedimientos almacenados.

TP 9: AWT y SWING, Modelo Vista-Controlador


Ejemplos de uso para AWT. Planteo de problemas utilizando AWT. Manejo de eventos.
Ejemplos y Ejercicios de Aplicaciones Utilizando SWING.

Prof. Ing. Ulises Rapallini -7


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

TP 10: Programacin Distribuida, Applets y


la WWW
Creacin de Applets. Insercin en una pagina WEB. Grficos en un Applet. Dibujar en un
Applet

Prof. Ing. Ulises Rapallini -8


Universidad Tecnolgica Nacional
Facultad Regional Concepcin del Uruguay
Ingeniera en Sistemas de Informacin
Taller de Programacin Concurrente y Distribuida 5to ao

Condiciones de regularidad y/o promocin

Regularidad
Para regularizar la materia el alumno deber cumplir con las siguientes condiciones mnimas:

Entregar los trabajos prcticos segn un cronograma de entrega


Aprobar la evaluacin parcial con nota mayor a 4.

Promocin
Para promocionar la materia el alumno deber cumplir con las siguientes condiciones mnimas:

Aprobar la evaluacin con nota mayor a 7.


Entrega de Todos los trabajos prcticos en termino.
Entrega y aprobacin del trabajo final de programacin antes del cierre del Cuatrimestre.

Recursos necesarios
Se utilizara un aula y/o el laboratorio de computacin en horarios de clase. Se utilizaran las
computadoras disponibles, y se necesita el siguiente software :

Sitio Virtual
Todo el material se distribuir a travs del sitio de cursos virtuales de la frcu.

Software necesario
 JDK / SDK de Sun Microsystems preferentemente la ultima versin.
 Netbeans / SDK
 Free Java o un editor de Programacin como Context.
 Sistema Operativo Linux y/o Sistema Operativo Windows
 Win Zip o WinRar
 Acrobar Reader

Acceso a Internet
Se requiere acceso a Internet para :
Acceder al sitio de cursos virtuales de la FRCU
Acceder a la documentacin del lenguaje
Buscar informacin relacionada con el lenguaje Java.

Software de Aplicacin general

Ing. Ulises M. A. Rapallini

Prof. Ing. Ulises Rapallini -9

Вам также может понравиться