Está en la página 1de 6

UNIVERSIDAD ANDINA DEL CUSCO

FACULTAD DE INGENIERÍA
DEPARTAMENTO ACADÉMICO DE INGENIERÍA DE SISTEMAS
PROGRAMA ACADÉMICO PROFESIONAL DE INGENIERÍA DE SISTEMAS

1. DATOS GENERALES

1.1. ASIGNATURA : Programación Concurrente y Paralela.


1.2. CÓDIGO : IS41
1.3. CATEGORÍA : Electivo de Especialidad.
1.4. CRÉDITOS : 04.
1.5. PRE - REQUISITO : IS15.
1.6. NRO DE HORAS : 6 Horas Prácticas
1.7. PROGRAMA ACADÉMICO : Ingeniería de Sistemas
1.8. SEMESTRE ACADÉMICO : 2010 – II
1.9. HORARIO : Lunes – Miércoles - Viernes 7:00 – 9:00 a.m.
1.10. PROFESOR : Ing. Hugo Espetia Huamanga
1.11.EMAIL : hespetia@uac.edu.pe.

2. SUMILLA

2.1. Naturaleza
Asignatura de naturaleza Teórico - Práctica, perteneciente al área de formación profesional
especializada
2.2. Propósito
Tiene como propósito proporcionar al estudiante una base teórica y practica en la abstracción y
conocimiento de la programación concurrente y paralela.
2.3. Contenido
Abarca temas de estrategias de solución a los conflictos existentes en procesos concurrentes y
paralelos, así como el planteamiento de algoritmos para multiprocesadores.

3. COMPETENCIAS

Al finalizar la asignatura, los alumnos que hayan colaborado en su formación profesional deberán
contar con las siguientes competencias

3.1. Conceptual
Analiza y comprende el paradigma de la abstracción de la programación concurrente y el uso de las
herramientas y técnicas utilizadas en general por los lenguajes concurrentes.
Aprende y conoce las técnicas básicas de la programación concurrente.

3.2. Procedimental
Desarrolla y analiza aplicaciones concurrentes usando lenguajes concurrentes.
Adquiere destreza en el uso de los lenguajes de programación C# y Java.
Desarrolla proyectos que involucran programación concurrente y paralela

3.3. Actitudinal
Demuestra puntualidad, orden y actitud hacia el trabajo
Valora cada uno de los principios de la programación concurrente y paralela en cada uno de los
proyectos desarrollados.
Trabaja en grupo con armonía y comparte experiencias útiles.

1
4. PROGRAMACIÓN TEMÁTICA

PRIMERA UNIDAD DE APRENDIZAJE:

FUNDAMENTOS DE PROGRAMACIÓN CONCURRENTE Y PARALELA

4.1. 1. CAPACIDADES:

Durante el desarrollo de la unidad de aprendizaje el estudiante

 Conoce y entiende los principios y metodologías de la programación concurrente, en los


problemas derivados de la ejecución paralela de procesos y en las técnicas y herramientas
existentes para resolver estos problemas.
 Entiende y analiza los problemas clásicos de los sistemas concurrentes proponiendo diversas
soluciones.
 Plantea y desarrolla ejemplos utilizando los lenguajes concurrentes C# y Java.

4.1.2. CONTENIDOS DE APRENDIZAJE

Progra
Conceptual Procedimental Actitudinal
mación

semana Introducción al curso y metodología. Reconoce e identifica de manera Demuestra puntualidad, orden y
Cronograma de sesiones. adecuada, aquellos problemas en los actitud hacia el trabajo
Conceptos básicos. que la solución concurrente es la más
Concepto e hitos de la programación concurrente. adecuada. Valora cada uno de los principios
Beneficios de la programación concurrente. de la programación concurrente y
Solución de problemas inherentemente Comprende la definición y paralela en cada uno de los
concurrentes. características de programa proyectos desarrollados.
concurrente.
2° Concurrencia y arquitecturas hardware. Trabaja en grupo con armonía y
semana Especificación de ejecución concurrente. Identifica las arquitecturas en las que comparte experiencias útiles.
Características de los sistemas concurrentes. se ejecutan los lenguajes
Problemas inherentes a la programación concurrentes.
concurrente.
Corrección de programas concurrentes. Implementa proyectos que involucran
programación Concurrente y
3° Procesos. Estados de un proceso Paralela.
semana Disposición en memoria de un proceso
Establece diferencias entre los
4° - 5° Hilos en C#. programas secuenciales y los
semana Proyectos de Aplicación concurrentes.

6° Hilos en Java. Desarrolla los algoritmos de la


semana Proyectos de Aplicación programación concurrente y paralela
de una manera abstracta.
7° - 8° Procesos Transaccionales
semana COM+ Services Transaccionales.
Web Services.

4.1.3. ACTIVIDADES

Las actividades que realiza el estudiante son:


 Descargar los archivos que el docente prepara desde el blog correspondiente.
 Imprimir las dispositivas y archivarlas en un pioner.
 Realizar mapas conceptuales por cada lectura asignada.
 Preparar su exposición con la ayuda de un presentador y exponer aleatoriamente el tema de
clase según calendario aprobado.

Las actividades que realiza el docente son:


 Preparar el material correspondiente a cada tema.
 Publicar en su página web los archivos correspondientes.
 Devolver y resolver las evaluaciones escritas y realizar la retroalimentación correspondiente.
 Actuar de moderador en los temas de discusión en clase y fomentar la participación de los
estudiantes.
 Facilitar los equipos necesarios para la exposición de temas.

2
4.1.4. ESTRATEGIAS METODOLÓGICAS.

 La estrategia enseñanza - aprendizaje aplicando las técnicas siguientes:


 Aprendizaje basado en problemas
 Discusión dirigida.
 Promoción de ideas.
 Dinámica grupal.

4.1.5. EVALUACIÓN

CRITERIOS INDICADORES PROCEDIMENTAL INSTRUMENTOS


 Define, analiza y plantea  Expone.  Prueba oral.  Mapas conceptuales.
soluciones a los  Presenta actividades e  Sustenta su informe.  Informe de
algoritmos concurrentes informes.  Criterio lógico. investigación.
y paralelos.  Investiga y participa con  Solución de preguntas  Guías de laboratorio.
su opinión. de las guías de  Prueba de entrada.
 Utiliza adecuadamente laboratorio.  Prueba escrita objetiva.
las técnicas de  Evolución positiva
planteamiento de apreciada por el
algoritmos. docente.
 Presenta un examen.

PESOS DE EVALUACIÓN

 Conceptual : 02
 Procedimental : 02
 Actitudinal : 02

4.1.6. CRONOGRAMA

Comprende 8 semanas:
Semana 1: 1 Septiembre – 7 Septiembre
Semana 2: 8 Septiembre – 14 Septiembre
Semana 3: 15 Septiembre – 21 Septiembre
Semana 4: 22 Septiembre – 28 Septiembre
Semana 5: 29 Septiembre – 5 Octubre
Semana 6: 6 Octubre – 12 de Octubre
Semana 7: 13 Octubre – 19 de Octubre
Semana 8: 20 Octubre – 26 de Octubre

4.1.6. BIBLIOGRAFÍA ESPECIFICA

 José Tomás Palma Méndez, Mª Carmen Garrido Carrera, Fernando Sánchez Figueroa y Alexis
Quesada Arencibia, Programación Concurrente, Ed. Thomson. 2006.
 G.R. Andrews, Concurrent programming. Principles and practice. Benjamin/Cummings Company,
Inc. 1991.

3
SEGUNDA UNIDAD DE APRENDIZAJE

SOLUCIÓN A CONFLICTOS EXISTENTES EN PROCESOS CONCURRENTES

4.2.1. CAPACIDADES

 Compara las estrategias de desarrollo de algoritmos secuencial y concurrente.


 Adquiere la destreza y conocimientos necesarios para reconocer una aplicación paralela y
resolverla mediante la construcción de algoritmos concurrentes.
 Comprende que al utilizar soluciones concurrentes está expuesto al no determinismo de los
programas.
 Plantea y resuelve de manera adecuada los problemas típicos de la concurrencia: sincronización
condicional, exclusión mutua e interbloqueo (deadlock).
 Aplica adecuadamente la sincronización y exclusión mutua para la solución de problemas
diversos.
 Determina y selecciona la estructura de sincronización más adecuada en la solución de un
problema específico.
 Plantea y desarrolla ejemplos utilizando los lenguajes concurrentes C# y Java.

4.2.2. CONTENIDOS DE APRENDIZAJE

Program
Conceptual Procedimental Actitudinal
ación
9° Tipos de sincronización y su solución.
semana Espera-Ocupada para la exclusión mutua Reconoce los elementos Demuestra puntualidad, orden
(soluciones software y hardware). fundamentales y la y actitud hacia el trabajo
importancia de la
10º Semáforos. Introducción y definición. sincronización. Valora cada uno de los
semana Resolución de problemas usando semáforos. principios de la programación
Inconvenientes del mecanismo de los semáforos. Conoce los elementos que concurrente y paralela en cada
nos permiten realizar uno de los proyectos
11º Regiones críticas condicionales. Introducción y sincronización en un desarrollados.
semana definición. programa concurrente.
Resolución de problemas usando regiones críticas Trabaja en grupo con armonía
condicionales. Desarrolla pruebas para y comparte experiencias útiles
Inconvenientes del mecanismo de regiones críticas determinar la mejor forma de
condicionales. realizar sincronización.

12º Monitores. Introducción y definición. Entiende y verifica el


semana Resolución de problemas usando monitores. mecanismo de paso de
Inconvenientes del mecanismo de monitores. mensajes.

13º Mecanismo de paso de mensajes. Implementa proyectos que


semana Paso de mensaje asíncrono involucran Semáforos,
Resolución de problemas empleando paso de Monitores, Invocación
mensaje asíncrono. Remota.

14º Paso de mensaje síncrono con canales.


semana Comunicación mediante canales.
Resolución de problemas empleando canales

15º Invocación remota y llamada a procedimiento remoto


semana (RPC).
Introducción.
Resolución de problemas mediante invocación
remota

16º .Proyectos de Aplicación


semana

4
4.2.3. ACTIVIDADES

Las actividades que realiza el estudiante son:


 Descargar los archivos que el docente prepara desde el blog correspondiente.
 Imprimir las dispositivas y archivarlas en un pioner.
 Realizar mapas conceptuales por cada lectura asignada.
 Preparar su exposición con la ayuda de un presentador y exponer aleatoriamente el tema de
clase según calendario aprobado.

Las actividades que realiza el docente son:


 Preparar el material correspondiente a cada tema.
 Publicar en su página web los archivos correspondientes.
 Devolver y resolver las evaluaciones escritas y realizar la retroalimentación correspondiente.
 Actuar de moderador en los temas de discusión en clase y fomentar la participación de los
estudiantes.
 Facilitar los equipos necesarios para la exposición de temas.

4.2.4. ESTRATEGIAS METODOLÓGICAS.

 La estrategia enseñanza - aprendizaje aplicando las técnicas siguientes:


 Aprendizaje basado en problemas
 Discusión dirigida.
 Promoción de ideas.
 Dinámica grupal.

4.2.5. EVALUACIÓN

CRITERIOS INDICADORES PROCEDIMENTAL INSTRUMENTOS


 Define, analiza y plantea  Expone.  Prueba oral.  Mapas conceptuales.
soluciones a los  Presenta actividades e  Sustenta su informe.  Informe de
algoritmos concurrentes informes.  Criterio lógico. investigación.
y paralelos.  Investiga y participa con  Solución de preguntas  Guías de laboratorio.
su opinión. de las guías de  Prueba de entrada.
 Utiliza adecuadamente laboratorio.  Prueba escrita objetiva.
las técnicas de  Evolución positiva
planteamiento de apreciada por el
algoritmos. docente.
 Presenta un examen.

PESOS DE EVALUACIÓN

 Conceptual : 02
 Procedimental : 03
 Actitudinal : 02

4.2.6. CRONOGRAMA

Comprende 8 semanas:
Semana 9: 27 Octubre – 2 de Noviembre
Semana 10: 3 – 9 de Noviembre
Semana 11: 10 – 16 de Noviembre
Semana 12: 17 – 23 de Noviembre
Semana 13: 24 – 30 de Noviembre
Semana 14: 1 – 7 de Diciembre
Semana 15: 8 – 14 de Diciembre
Semana 16: 15 – 21 de Diciembre

4.2.7. BIBLIOGRAFÍA ESPECIFICA

 Stephen J. Hartley, Concurrent Programming Using Java, Oxford University Press, 1998.
 Doug Lea, Programación Concurrente en Java, Addison Wesley, 2001

5
5. EVALUACIÓN

La evaluación será sistemática, integral y permanente, se calificara el conocimiento, actitudes y


habilidades del estudiante.
Los criterios de evaluación, se aplicaran de acuerdo a las competencias y capacidades formuladas en
cada unidad de aprendizaje
Se aplicará evaluaciones escritas, de proceso e intervenciones orales.

 Se calificaran los trabajos de investigación, informes presentados, organizadores visuales,


exposiciones, intervenciones, asistencia puntual y entrega de trabajos
 Integración y trabajo en grupo
 Socialización de conocimientos

Los instrumentos de evaluación que se aplicaran serán

Para la evaluación de entrada: un cuestionario


Para la evaluación de proceso: intervenciones orales, debates, exposiciones, investigaciones,
trabajos, informes.
Para la evaluación sumativa: Al finalizar cada unidad de aprendizaje se aplicaran pruebas de
selección múltiple.
La calificación será vigesimal de 0 a 20 puntos. El estudiante debe alcanzar 14 puntos para poder
aprobar la asignatura

6. BIBLIOGRAFIA

 José Tomás Palma Méndez, Mª Carmen Garrido Carrera, Fernando Sánchez Figueroa y Alexis
Quesada Arencibia, Programación Concurrente, Ed. Thomson. 2006.
 G.R. Andrews, Concurrent programming. Principles and practice. Benjamin/Cummings Company,
Inc. 1991.
 Stephen J. Hartley, Concurrent Programming Using Java, Oxford University Press, 1998.
 Doug Lea, Programación Concurrente en Java, Addison Wesley, 2001

DIRECCIONES WEB

 http://webdiis.unizar.es/~ezpeleta/PC/PC.htm
 http://www.uhu.es/josel_alvarez/Prog/
 http://lml.ls.fi.upm.es/pc/normas/index.html
 http://www.cs.buap.mx/~rossainz/descargas.html
 http://www.dlsi.ua.es/~abia/PC/
 http://www.matematicas.unam.mx/jloa/curso.concur.html
 http://cv1.cpd.ua.es/WebCv/ConsPlanesEstudio/cvFichaAsi.asp?wCodEst=B204&wcodasi=9318
&wLengua=C&scaca=2006-07
 www.depi.itch.edu.mx/apacheco/lengs/paralelo/index.html
 http://sopa.dis.ulpgc.es/
 http://petra.euitio.uniovi.es/asignaturas/pro.con/material/
 http://www.usp.edu.pe/~apaz/cursos/pcp/
 http://www.uned.es/infor-3-programacion-concurrente/

Cusco, Septiembre de 2010

_________________________
Ing. Hugo Espetia Huamanga

También podría gustarte