You are on page 1of 9

 

  UNIVERSIDAD DE GUADALAJARA 
CENTRO UNIVERSITARIO DE LOS ALTOS  DIVISIÓN DE ESTUDIOS EN FORMACIONES SOCIALES    LICENCIATURA:   INGENIERÍA EN COMPUTACIÓN   

UNIDAD DE APRENDIZAJE POR OBJETIVOS

TALLER DE PROGRAMACIÓN CONCURRENTE Y DISTRIBUIDA

LIC. ABRAHAM ANDRADE LÓPEZ Presidente de la Academia de Sistemas Digitales y de Información  

DR. ROGELIO MARTÍNEZ CÁRDENAS Jefe del Departamento de Estudios Organizacionales

    NOMBRE DE LA ASIGNATURA TALLER DE PROGRAMACIÓN CONCURRENTE Y DISTRIBUIDA CC414 CODIGO DE LA MATERIA DEPARTAMENTO ESTUDIOS ORGANIZACIONALES ÁREA DE FORMACIÓN OPTATIVA ABIERTA CENTRO UNIVERSITARIO CENTRO UNIVERSITARIO DE LOS ALTOS CARGA HORARIA TEORÍA 0 CARGA HORARIA PRÁCTICA 60 CARGA HORARIA TOTAL 60 CRÉDITOS 4 TIPO DE CURSO PRÁCTICO NIVEL DE FORMACIÓN PROFESIONAL LICENCIATURA LICENCIATURA EN INGENIERÍA EN COMPUTACIÓN SISTEMAS DIGITALES Y DE INFORMACIÓN PARTICIPANTES ELABORÓ PRERREQUISITOS NINGUNO FECHA DE ACTUALIZACIÓN SEPTIEMBRE DE 2011 .

.  OBJETIVO GENERAL El alumno será capaz de programar sistemas concurrentes y distribuidos. OBJETIVOS ESPECÍFICOS En cada módulo del contenido temático principal.

2 El profiler de NetBeans 1.1.3.4 Comparación de rendimientos 1.1 Planteamiento del banco de pruebas 1.1.2 Método synchronized 2.3.3.2 Librerías posix de hilos 1.5 Ejecución de instrucciones 1.4.1 La API Win32 para hilos 1.1 La clase Object 2.2.1.2 Cronometraje de hilos Módulo 2: Programación concurrente Objetivo particular: El alumno podrá implementar soluciones locales a problemas de concurrencia con el paradigma orientado a objetos 2.2.2 La clase barrier 2.4 Programación de serie fibonnaci con hilos posix 1.1 Programación de Mutex en Java 2.3.3 Sección crítica en Win32 1.2.1.2.2.4 Programación de filtros con Java .1 El patrón de singleton 2.4.1 El ambiente NetBeans 1.2 Creación y terminación de hilos en Win32 1.1.2.1 Conceptos básicos de hilos 1.3 Programación de hilos en Java 1.3 Elementos básicos de filtros digitales 2.3.1.2 Filtrado de señales y la clase Barrier 2.2.4 Algoritmo paralelo para el promedio de elementos en vectores compartidos 2.  CONTENIDO TEMÁTICO Módulo 1: Introducción a la programación de hilos Objetivo particular: El alumno implementará programas numéricos y de prueba de rendimiento para sistemas multicore con rutinas c/c++ o cualquier otro lenguaje que soporte programación hilos 1.3 La Clase thread 1.4 La interfaz runnable 1.1.1.3 Creación y terminación de hilos posix 1.2.1 Compilador mingw 1.3 Método wai y notify 2.2 Programación de hilos en Win32 1.4 Comparación de rendimiento 1.

3 Despachador de filas y columnas 2.3.1.3.3.2.1 Interfaz.1.3.1. .4.2 El servidor RMI 3.1 Introducción a los sistemas distribuidos 3.2.3.2 Creación de un servicio web con RMI 3.2 Subclase de factory 2.4.1.3 El productor-consumidor en control 2.2.4 El minero distribuido 3.1 Semáforo de tipo posix 2.3.3.1 El contenedor de servicio web 3.6 Paint cooperativo distribuido 3.4 El problema 3 en raya distribuido 3.4.4 Patrones factory y adaptador 2.3 Creación de un servicio web con JSP/Serverlets 3. clase abstracta y adaptador 2.2.3 Aplicación del semáforo el problema de control de 1er Orden 2.3.5 El vecindario Módulo 4: Programación distribuida con agentes Objetivo particular: El alumno implementará un sistema distribuido en midleware que resuelve el problema de acceso a recursos distribuidos compartidos.2 Modelo de control de llenado de cisterna 2.3 El cliente RMI 3.1 La interfaz RMI Remote 3.6 Multiplicación matricial distribuida 3.4 Programación del control de cisterna con semáforo tipos posix en Java 2.5 Punto de re-entrada 3.3.1 El socket TCP y UDP 3.1.1.2 La tubería sobre el socket 3.4 Hilos servidor 3.2.5 La cuenta bancaria distribuida 3.  2.2.3 Hilos cliente 3.4.2 Soluciones JSP 3.3 Soluciones con serverlets 3.4 Multiplicación matricial con hilos Módulo 3: Programación distribuida Objetivo particular: El alumno podrá implementar en Java una solución distribuida 3.

1 Los replicantes 4.2.1.2.1 El acuerdo bizantino 4.2.2 Nodos core nodos espejo 4.4 Reconocimiento de primitivos gráficos distribuidos .2.1 Introducción a los replicantes 4.3 Cámara web compartida 4.  4.2 Similitudes con el objeto ORB de Corba 4.1.4 Solución con agente replicante 4.1.1.3 Solución Corba 4.2 Proyecto de red con auto organización 4.

  ESTRUCTURA CONCEPTUAL Programación de hilos Programación concurrente Programación distribuida Programación distribuida .

México: Pearson Educación. CONOCIMIENTOS. (2008).  BIBLIOGRAFÍA BÁSICA Tanenbaum. Pearson Educación. MATERIAL DE APOYO ACADÉMICO • Notas sobre el curso • Videos sobre los principales conceptos • Programas educativos para computadoras • Uso de plataforma Moodle . J. F. Cómo programar en Java. Deitel. se recomienda que el profesor asesore y supervise personalmente el proceso de formación de cada alumno. Redes para procesos distribuidos. R. J.. Client/Server Programming with Java and CORBA. & Deitel. Ceballos. México: Alfaomega Ra-Ma. Curso de programación. A. tomando en cuenta el orden y la profundidad con la que deben tratarse los temas del programa de estudio. RaMa. MODALIDADES DEL PROCESO ENSEÑANZA APRENDIZAJE Para la realización de este curso.. Java 2. Orfali. P. BIBLIOGRAFÍA COMPLEMENTARIA García Tomás.S. Así como los elementos que entorno a un equipo de cómputo pueden manejarse. M. (2004). J. (1998). Ferrando.. México. M. & Piattini. S. & Harkey. CAMPO DE APLICACIÓN PROFESIONAL Los conceptos básicos ayudan a tener un panorama más amplio y a saber cuándo o en qué contexto podemos emplear cada uno de ellos dando oportunidad de desempeñarse en diversas áreas. (2006). Sistemas distribuidos : principios y paradigmas. D. (2001). USA: Wiley. APTITUDES Y VALORES QUE EL ALUMNO DEBE ADQUIRIR CON BASE AL DESARROLLO DE LA UNIDAD Conocimiento de la estructura de la computadora y compresión de su funcionalidad. México: Alfaomega.. H.

  • Presentaciones PowerPoint MODALIDADES DE EVALUACIÓN CRITERIOS • • • • Examen departamental Exámenes parciales Producto de investigación. . tareas y participación en moodle Proyecto de final 20 % 40 % 20 % 20 % PERFIL DOCENTE El docente de esta materia deberá ser un profesionista con formación en las áreas de la computación. comunicaciones o informática. con habilidades para transmitir sus conocimientos y enseñar de forma interactiva propiciando en los alumnos el autoaprendizaje. capaz de motivar a la investigación y creación de conocimiento.