UNIVERSIDAD AUTONOMA DE BAJA CALIFORNIA
COORDINACIÓN DE FORMACIÓN BÁSICA
COORDINACIÓN DE FORMACIÓN PROFESINAL Y VINCULACIÓN UNIVERSITARIA
PROGRAMA DE UNIDADES DE APRENDIZAJE POR COMPETENCIAS
I. DATOS DE IDENTIFICACIÓN
1. Unidad Académica: Facultad de Ciencas
2. Programa (s) de estudio: Licenciatura en Ciencias Computacionales 3. Vigencia del plan: 2004-1 .
4. Nombre de la Asignatura: Programación de Super Cómputo 5. Clave: .
6. HC: 4 HL 4 HT____ HPC____ HCL____ HE 4 CR 12 .
7. Ciclo Escolar: 2004-1 8. Etapa de formación a la que pertenece: Terminal 9. Carácter de la Asignatura: Obligatoria X Optativa ____________
10. Requisitos para cursar la asignatura:____Recomendada Sistemas Operativos
Formuló: MC. Adán Hirales Carbajal_________ VoBo: Juan Crisóstomo Tapia Mercado Fecha: Febrero 2004 Cargo: Subdirector
II. PROPÓSITO GENERAL DEL CURSO
El propósito del curso es evaluar y criticar múltiples paradigmas utilizados para la construcción de arquitecturas distribuidas y aplicaciones paralelas. La materia de supercómputo extiende contenidos relacionados con las materias de sistemas operativos, organización de computadoras y lenguajes de programación, de igual manera sirve como báse para estudios de postgrado en el area de desarrollo distribuido y computo paralelo.
El curso de encuentra en la etapa términa y es de carácter obigatorio, se encuentra en la línea terminal de computo científico y de alto rendimiento.
III. COMPETENCIA (S) DE LA UNIDAD DE APRENDIZAJE
Analizar estrategias para la administración e implementación de recursos y servicios distribuidos, a través del estudio de paradigmas, conceptos, algoritmos distribuidos y arquitecturas, para la construcción de aplicaciones distribuidas. Para lograr esta competencia es necesario: la lectura constante; contextualizar y aplicar las estrategias estudiadas; y trabajar en equipo.
IV. EVIDENCIA DE DESEMPEÑO
La demostración de la competencia aprendida se evaluará en términos de los siguientes productos: • Solución de tareas y ejercicios asignados por el docente.
• Elaboración de prácticas de laboratorio. • Elaboración de un prototipo en equipo.
• Elaboración de almenos dos exámenes parciales.
La ponderación de cada evidencia de desempeño se definirá durante el encuadre del curso, sin embargo, una propuesta para la evaluación del curso es la siguiente: 30% tareas, ejercicios y prácticas de laboratorio, 40% exámenes parciales y 30% elaboración de un prototipo.
V. DESARROLLO POR UNIDADES UNIDAD I Introducción a los Sistemas Distribuidos
Competencia:
Identificar tendencias en el desarrollo de sistemas distribuidos a través de lecturas bibligráficas y artículos de investigación, para la identificación de direcciones futuras bajo un contexto de investigación. Para lograr tal competencia, es necesario leer, sintetizar y deducir información a partir del material asignado por el docente.
Contenido Duración
1. Introducción a los Sistemas Distribuidos 17 horas 1.1. Antecedentes
1.2. Desarrollo actual
1.3. Especificaciones y requerimientos
V. DESARROLLO POR UNIDADES UNIDAD II Paradigmas y soporte para el modelado
Competencia:
Comprender paradigmas y patrones arquitectónicos de diseño, mediante el estudio de esqueletos arquitectónicos, para el desarrollo de componentes distribuidos que propocionen algún servicio o la administración de un recursos distribuido. Para lograr la competencia, es necesario analizar paradigmas, estudiar patrones arquitectónicos, discutir su eficiencia, y deternimar posibles contextos de aplicación.
Contenido Duración
2. Paradigmas y patrones de diseño para el desarrollo de aplicaciones distribuidas 11 horas 2.1. Paradigmas
V. DESARROLLO POR UNIDADES UNIDAD III Lenguajes de soporte
Competencia:
Aplicar elementos de paso de mensajes e invocación a métodos remotos mediante la utilización de librerías de paso de mensajes e invocación a métodos remotos para la implementación de servicios remotos. Para lograr tal competencia es necesario expefrimentar con códigos proporcionados por el docente, tener curiosidad intelectual para la definición de servicios distribuidos y trabajar en equipo.
Contenido Duración
3. Lenguajes de soporte 15 horas 3.1. Lenguajes empíricos con soporte para la concurrencia y programación distribuida.
3.2. Lenguajes orientado a objetos.
3.3. Lenguajes / librerías para el soporte de paralelismo en arquitecturas de memoria distribuida y compartida.
V. DESARROLLO POR UNIDADES UNIDAD IV Requerimientos para el desarrollo de middleware
Competencia:
Analizar diferentes algoritmos para la administración de recursos distribuidos a través de la contextualización de múltiples problemas, estudio de soluciones y el análisis de su desempeño. Con una actitud analíticaasintótico y desarrollar algoritmos y arquitecturas para el desarrollo de infraestructura soporte de sistemas distribuidos y paralelos. Con una actitud analítica y crítica.
Contenido Duración
4. Requerimientos para el desarrollo de middleware 17 horas 4.1. Transparencia.
4.2. Flexibilidad. 4.3. Confiabilidad. 4.4. Desempeño. 4.5. Escalabilidad.
VI. ESTRUCTURA DE LAS PRÁCTICAS
No. de
Práctica Competencia(s) Descripción Material de
Apoyo Duración
1 Identificar tendencias en el desarrollo de sistemas distribuidos a través de lecturas bibligráficas y artículos de investigación, para la identificación de direcciones futuras bajo un contexto de investigación. Para lograr tal competencia, es necesario leer, sintetizar y deducir información a partir del material asignado por el docente.
Escritura de un ensayo donde se identificará las tendencias de los sistemas distribuidos. Notas del docente, lecturas asignadas por el docente y artículos de investigación. 6 horas
2 Comprender paradigmas y patrones
arquitectónicos de diseño, mediante el estudio de esqueletos arquitectónicos, para el desarrollo de componentes distribuidos que propocionen algún servicio o la administración de un recursos distribuido. Para lograr la competencia, es necesario analizar paradigmas, estudiar patrones arquitectónicos, discutir su eficiencia, y deternimar posibles contextos de aplicación.
El docente asignará un caso de estudio, se formaran equipos de estudiantes, los estudiantes deberán aplicar un patrón arquitectónico (análisis y diseño) para el modelado del caso de estudio. Los productos entregables serán:
- Exposición donde se defina el caso de estudio, que patrón arquitectónico puede aplicar, y como lo puede aplicar.
- Documento con análisis y diseño. Notas del docente, lecturas asignadas por el docente, herramienta case. 6 horas
No. de
Práctica Competencia(s) Descripción Material de
Apoyo Duración
3 Aplicar elementos de paso de mensajes e invocación a métodos remotos mediante la utilización de librerías de paso de mensajes e invocación a métodos remotos para la implementación de servicios remotos. Para lograr tal competencia es necesario experimentar con códigos proporcionados por el docente, tener curiosidad intelectual para la definición de servicios distribuidos y trabajar en equipo.
Desarrollo de almenos 3 practicas de laboratorio donde se aplique algún elemento para la comunicación entre procesos, por ejemplo: multiplexión, comunicación en grupo, activación, atomicidad, seguridad, entre otros elementos. Cada práctica puede cubrir dos sesiones de laboratorio.
Notas del la clase, lecturas y programas ejemplos asignados por el docente, librerías de comunicación . 24 horas
5 Analizar diferentes algoritmos para la administración de recursos distribuidos a través de la contextualización de múltiples problemas, estudio de soluciones y el análisis de su desempeño. Con una actitud analíticaasintótico y desarrollar algoritmos y arquitecturas para el desarrollo de infraestructura soporte de sistemas distribuidos y paralelos. Con una actitud analítica y crítica
En el trasncuso de estas secciones el docente asignará:
- Tareas.
- Y un caso de estudio para el cual se elaborará un prototipo o simulación. Dependiendo del proyecto: - Simulador - Librerías de comunicación Tareas. 48 horas.
VII. METODOLOGÍA DE TRABAJO
Aprendizaje participativo
Durante la clase se aplicará está metodología en la que el estudiante juega un papel activo al intervenir propositivamente en la planeación, realización y evolución del proceso de aprendizaje. Consiste básicamente en asignar un tema a cada equipo, el cual primeramente es analizado en forma individual, posteriormente en equipo, después se comentan los temas entre los diferentes equipos y al final se concluye. La participación del maestro en la aplicación de está metodología es de mediador.
Trabajo en equipo
A lo largo del semestre se estará trabajando en equipo, tanto para los trabajos en clase, así como para el proyecto final, y consiste básicamente en asignar una tarea para la cual deberán organizarse y desarrollar un producto final. El maestro en esta metodología juega el papel de consultor.
Investigación
Esta será empleada en el proyecto final, en el cual se le pide la presentación oral, escrita y la implementación del proyecto en forma colectiva, para lo cual podrá consultar libros, artículos de revistas, así como de Internet. El maestro funge como
consultor.
Clase expositiva
Está en el caso del alumno será aplicada sobretodo en la exposición de su proyecto de investigación final, en el caso del maestro se aplicará en la impartición de conceptos básicos, explicación de ejercicios, así como en la conclusión de temas.
VIII. CRITERIOS DE EVALUACIÓN
Porcentajes de la evaluación (propuesta)
Exámenes parciales 40%
Tareas y prácticas 30%
Proyecto final 30%
TOTAL 100%
Criterio de acreditación
Resolver dos exámenes parciales en tiempo y forma.
Cumplir con las tareas extraclase y prácticas en tiempo y forma.
Cumplir con la presentación y reporte de un proyecto de investigación en tiempo y forma.
Criterios de evaluación
Las tareas y prácticas tendrán un plazo máximo de una semana para su entrega a partir de la fecha de asignación, las soluciones serán expuestas por el docente posterior la entrega de los trabajos. Trabajos tardios NO serán aceptados. Las tareas y prácticas deberán contener la estructura u organización que indique el docente.
No se aceptan trabajos plagiados.
El proyecto se evaluara en términos de los siguientes criterios: claridad de redacción, limpieza, buena estructura en la organización de ideas, operabilidad del prototipo.
IX. BIBLIOGRAFÍA
Básica Complementaria
Nancy Lynch. 1997. Distributed Algorithms.Morgan Kaufmann Publishers.
Sape Mullender. 1993. Distributed Systems. Addison Weslay. ACM Press. New York, New York.
Andrew S. Tanenbaum. 1992. Sistemas Operativos Modernos. Prentice-Hall Hispanoamiericana. Mexico. Peter Freeman and Bran Selic. 2000. Desinin Concurrent,
Distributed, and Real-Time Applications with UML. Addison-Weley, Boston.
M.J. Quinn. 1994. Parallel Computing: Theory and Practice.
Bil Lewis y Daniel J. Berg. 1996. Threads a Primer. Sun Micro Systems. California USA.
Amnon Barak, Shai Guday y Richard G. Wheeler. Lecture Notes in Computer Science: The Mosix Distributed System. Springer-Verlag.
Albert Y. Zomaya. 1996. Pararllel and Distributed computing hadbook. McGraw-Hill.
V. Kumar. 1991. Models of Parallel Computing. Springer. New York.
Raj Jain. 1991. The Art of Computer Systems Performance Analisys, Techniques for Experimental Desing,
Measurement, Simulation and Modeling. John Wiley & Sons. New York.