UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA DEPARTAMENTO ACADÉMICO TECNOCIENCIAS LICENCIATURA EN : INGENIERIA EN MECATRONICA ASIGNATURA PROGRAMACION CONCURRENTE SERIACIÓN NINGUNA SEMESTRE EN QUE SE IMPARTE CUARTO FECHA DE REALIZACIÓN JUNIO DEL 2006 HORAS CON DOCENTE 3 HORAS INDEPENDIENTES 3 TOTAL DE HORAS SEMANA 6 TOTAL DE HORAS SEMESTRE 90 CRÉDITOS 5.5 ESCENARIOS ACADÉMICOS CENTRO OBJETIVO GENERAL El estudiante describirá los aspectos asociados a la organización y estructura de la programación concurrente, para identificar los principios generales y los algoritmos de programación concurrente. UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA UNIDAD 1 1. Introducción a la programación concurrente OBJETIVO ESPECÍFICO POR UNIDAD: HORAS: 15 CD 3 / 3 AAI El estudiante identificará los fundamentos de la programación concurrente, para lograr un panorama general de este conocimiento. SESIÓN 1 2y3 4y 5 FECHA HORAS DE LA SESIÓN 1.5 3 3 DESGLOSE DE TEMAS Y SUBTEMAS Encuadre del curso Introducción ESTRATEGIAS DE ENSEÑANZA Formar Equipos de Trabajo. EXPERIENCIAS DE APRENDIZAJE INDEPENDIENTES - Introducción a la asignatura. - Registro de Correos Electrónicos. - Definición de Concurrencia - Ejemplos de Sistemas donde existe concurrencia. - Necesidad de la Programación - Exposición por parte del profesor Discusiones facilitadas por el profesor. Introducción a Java El alumno expondrá lo que investigo y formará equipos para compartir la información recabada. Entenderá los fundamentos de Java - Problemas típicos de la programación - Multiprogramación, Multitarea y Multiprocesos - Sistemas Paralelos y Distribuidos - Exposición por parte del profesor Discusiones facilitadas por el profesor. Como trabajar con objetos El alumno expondrá lo que investigo y formará equipos para compartir la información recabada. Entenderá que son arreglos, condicionales y ciclos ACCIONES PARA EL DESARROLLO DE SUBHABILIDADES (EXPERIENCIAS DE APRENDIZAJE CON DOCENTES) Integración de portafolio de trabajo. ESTRATEGIAS DE EVALUACIÓN DE CONTENIDOS PROGRAMÁTICOS ESTRATEGIAS DE EVALUACIÓN DE SUBHABILIDADES MATERIAL DIDÁCTICO Examen Diagnóstico Investigar Que es concurrencia Respetar horario de entrada a clase. Investigar y realizar un resumen de la Tolerancia hacia programación otros. concurrente. Investigar donde se El desarrollo de aplica esta Trabajo debe de programación. iniciarse en las Investigar que es fechas establecidas POO, en tiempo y forma. Investigar y realizar un Mapa Conceptual La entrega de los de Ejercicios Prácticos multiprogramación, deberá de ser en multiprocesos, las fechas Resumen de establecidas en Sistemas Paralelos y tiempo y forma. distribuidos. REFERENCIAS BIBLIOGRAFÍCAS POR SESIÓN http://www.arrakis.es/~j espejo/explicacion.html Explicar a sus compañeros que entendido que es un hilo y cual es la relación con la programación concurrente. Realizar un programa en donde se lleve a cabo un programa concurrente. En equipo elaborar un glosario que se ira enriqueciendo con forme a la clase. http://www.angelfire.co m/scifi/jzavalar/apuntes/ IngSoftware.html Cañón Computadora Compilador Java Internet BIBLIOGRAFÍA BÁSICA: LIBRO 1 Andrew, Gregory R., (1991). Concurrent Programming: principles and practice. Benjamin/Cummings. ISBN 0-8053-0086-4 http://www306.ibm.com/software/r ational/ http://es.wikipedia.org/w iki/Lenguaje_de_progra maci%C3%B3n_Java http://es.wikipedia.org/w iki/Applet LIBRO 2 Lea, Doug, (2000). Programación Concurrente en Java. Addison-Wesley. ISBN 84-7829-038-9 LIBRO 3 Martley, S., (1998). Concurrent Programming: The Java programming Language. Osford Univ Press. ISBN 0-1951-1315-2 BIBLIOGRAFÍA BÁSICA SUGERIDA POR EL DOCENTE: LIBRO 1 Lemay, Laura, Aprendiendo Java en 21 dìas, Ed., Prentice Hall, LIBRO 2 Archer, Tom & Andrew Whitechapel, (2002). Incide C#. Microsoft Press. ISBN 0-7356-1648-5 LIBRO 3 Ben-Ari , M., (1990). Principles of Concurrent Programming. Prentice-Hall. LIBRO 4 Ben-Ari., (1998). Ada For Software Engineers. John Wiley & Son. LIBRO 4 Lemay, Laura, Aprendiendo Java en 21 días, Editorial Pearson Hall, ISBN LIBRO 5 Joyanes, Aguilar Luis, Programación en Java 2, Editorial McGraw Hill ISBN UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA UNIDAD 2 2. Hilos (Threads) Concurrentes. OBJETIVO ESPECÍFICO POR UNIDAD: El estudiante resolverá problemas derivados de la concurrencia, utilizando el concepto de hilos en problemas relacionados con: sincronización e interbloqueos; para aplicarlos en el campo profesional. SESIÓN 6y7 FECHA HORAS DE LA SESIÓN DESGLOSE DE TEMAS Y SUBTEMAS E3 El concepto de hilos (Threads) Composición de hilos 8y9 3 10 1.5 Comunicación entre hilos Sincronización entre hilos Soluciones a problemas de ínter bloqueo Ejemplos de uso de hilos en productor, consumidor y semáforos. ESTRATEGIAS DE ENSEÑANZA Exposición por parte del profesor Discusiones facilitadas por el profesor - Exposición por parte del profesor Discusiones facilitadas por el profesor. - Exposición por parte del profesor Discusiones facilitadas por el profesor. EXPERIENCIAS DE APRENDIZAJE INDEPENDIENTES Fundamentos de los applets java Manejo de ventas, funcionalidad para red y otros. Manejo de multihilos, flujos. Aprenderá la animación sencilla e hilos ACCIONES PARA EL DESARROLLO DE SUBHABILIDADES (EXPERIENCIAS DE APRENDIZAJE CON DOCENTES) ESTRATEGIAS DE EVALUACIÓN DE CONTENIDOS PROGRAMÁTICOS Integración de portafolio de trabajo. Realizará programas en donde aplique gráficos, fuentes y color, animación, Respetar horario de manejo de eventos entrada a clase. sencillos e interactividad Tolerancia hacia otros. El desarrollo de Trabajo debe de iniciarse en las fechas establecidas en tiempo y forma. ESTRATEGIAS DE EVALUACIÓN DE SUBHABILIDADES El alumno tendrá tolerancia en cuanto a la creación del glosario con otros equipos de trabajo. En donde cada equipo deberá de tener lo que tienen los demás equipos al compartir todos sus términos. MATERIAL DIDÁCTICO Cañón Computadora Compilador Java Internet HORAS: 12 CD 4 / 3 AAI REFERENCIAS BIBLIOGRAFÍCAS POR SESIÓN http://www.arrakis.es/~j espejo/explicacion.html La entrega de los Ejercicios Prácticos deberá de ser en las fechas establecidas en tiempo y forma. 11 y 12 3 Primer Examen y retroalimentación Los exámenes se ponderarán como 50% y los trabajos y tareas como 50%, guardando las evidencias durante el periodo BIBLIOGRAFÍA BÁSICA Y SUGERIDA POR EL DOCENTE: (MISMA QUE SE MENCIONA EN LA UNIDAD 1). UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA UNIDAD 3 3. Modelos de programación concurrente. OBJETIVO ESPECÍFICO POR UNIDAD: El estudiante operará diferentes modelos de programación, para obtener algoritmos concurrentes en sistemas distribuidos. SESIÓN 13 FECHA HORAS DE LA SESIÓN DESGLOSE DE TEMAS Y SUBTEMAS 1.5 Comunicación y sincronización de procesos en ambientes concurrentes 14 1.5 Paso de Mensajes síncrono y asíncrono Ordenamiento de eventos 15 1.5 Exclusión mutua en ambientes ESTRATEGIAS DE ENSEÑANZA Exposición por parte del profesor Discusiones facilitadas por el profesor - Exposición por parte del profesor Discusiones facilitadas por el profesor. - Exposición por parte del profesor Discusiones facilitadas por el profesor. EXPERIENCIAS DE APRENDIZAJE INDEPENDIENTES El alumno entenderá la jerarquía de clases ACCIONES PARA EL DESARROLLO DE SUBHABILIDADES (EXPERIENCIAS DE APRENDIZAJE CON DOCENTES) Integración de portafolio de trabajo. ESTRATEGIAS DE EVALUACIÓN DE CONTENIDOS PROGRAMÁTICOS ESTRATEGIAS DE EVALUACIÓN DE SUBHABILIDADES MATERIAL DIDÁCTICO HORAS: 12 CD 4 / 3 AAI REFERENCIAS BIBLIOGRAFÍCAS POR SESIÓN Realizar un diagrama Realizar programas de jerarquía de clases de acuerdo a los temas que se verán en esta unidad. Entenderá la finalidad e la biblioteca de clases de java. Respetar horario de entrada a clase. Realizar un biblioteca de clases de Java Tolerancia hacia otros. El alumno identificará las diferencias que hay entre java de C y C++. El desarrollo de Trabajo debe de iniciarse en las fechas establecidas en tiempo y forma. Como difiere java de C y C++ La entrega de los Ejercicios Prácticos deberá de ser en las fechas establecidas en tiempo y forma. BIBLIOGRAFÍA BÁSICA Y SUGERIDA POR EL DOCENTE: (MISMA QUE SE MENCIONA EN LA UNIDAD 1). Debiendo de ser entregados cada dos sesiones. Cañón Computadora Compilador Java Internet http://www.arrakis.es/~j espejo/explicacion.html UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA UNIDAD 4 4. Lenguajes de programación concurrente. OBJETIVO ESPECÍFICO POR UNIDAD: HORAS: 12 CD 4 / 3 AAI El estudiante clasificará los tipos de lenguajes de programación concurrente, para aplicarlo en diferentes situaciones. SESIÓN 16 FECHA HORAS DE LA SESIÓN DESGLOSE DE TEMAS Y SUBTEMAS 1.5 Lenguaje Ada y Occam 17 18 y 19 1.5 3 Lenguaje Linda y Java Lenguaje C paralelo y Pascal concurrente ESTRATEGIAS DE ENSEÑANZA Exposición por parte del profesor Discusiones facilitadas por el profesor - Exposición por parte del profesor Discusiones facilitadas por el profesor. - Exposición por parte del profesor Discusiones facilitadas por el profesor. EXPERIENCIAS DE APRENDIZAJE INDEPENDIENTES El alumno identificara el lenguaje Ada y Occam El alumno identificada el lenguaje Linda y Java El alumno identificará el lenguaje C paralelo y pascal concurrente ACCIONES PARA EL DESARROLLO DE SUBHABILIDADES (EXPERIENCIAS DE APRENDIZAJE CON DOCENTES) Integración de portafolio de trabajo. ESTRATEGIAS DE EVALUACIÓN DE CONTENIDOS PROGRAMÁTICOS Entrega de Programas de acuerdo a temas vistos. Respetar horario de entrada a clase. Tolerancia hacia otros. El desarrollo de Trabajo debe de iniciarse en las fechas establecidas en tiempo y forma. ESTRATEGIAS DE EVALUACIÓN DE SUBHABILIDADES MATERIAL DIDÁCTICO REFERENCIAS BIBLIOGRAFÍCAS POR SESIÓN Realizar programas en forma individual y posterior comparar con el de sus compañeros. Entrega de Glosario en equipo. Cañón Computadora Compilador Java Internet http://www.arrakis.es/~j espejo/explicacion.html La entrega de los Ejercicios Prácticos deberá de ser en las fechas establecidas en tiempo y forma. 20 y 21 3 Segundo Examen y retroalimentación Los exámenes se ponderarán como 50% y los trabajos y tareas como 50%, guardando las evidencias durante el periodo BIBLIOGRAFÍA BÁSICA Y SUGERIDA POR EL DOCENTE: (MISMA QUE SE MENCIONA EN LA UNIDAD 1). UNIVERSIDAD DEL VALLE DE MÉXICO DIRECCIÓN ACADÉMICA PLANEACIÓN DIDÁCTICA UNIDAD 5 5. Algoritmos concurrentes y aplicaciones. OBJETIVO ESPECÍFICO POR UNIDAD: El estudiante manejará los distintos algoritmos que le permitan resolver de manera eficiente problemas de alta complejidad. SESIÓN FECHA HORAS DE LA SESIÓN 23 – 24 3 25-26 3 27-28 3 29 -31 4.5 32 -33 3 DESGLOSE DE TEMAS Y SUBTEMAS Algoritmos de ordenamiento y búsqueda Multiplicación de Matrices Algoritmos numéricos Algoritmos de grafos Redes Neuronales Algoritmos Genéticos ESTRATEGIAS DE ENSEÑANZA Exposición por parte del profesor Discusiones facilitadas por el profesor - Exposición por parte del profesor Discusiones facilitadas por el profesor. - Exposición por parte del profesor Discusiones facilitadas por el profesor. EXPERIENCIAS DE APRENDIZAJE INDEPENDIENTES Identificar los algoritmos y aplicarlos con matrices Identificar los algoritmos numéricos y de grafos desarrollando ejemplos Identificara la diferencia que hay entre las redes neuronales y los algoritmos genéticos y cual es su relación El alumno entenderá y conjuntara todo lo visto durante el semestre en el proyecto que deberá de entregar ACCIONES PARA EL DESARROLLO DE SUBHABILIDADES (EXPERIENCIAS DE APRENDIZAJE CON DOCENTES) Integración de portafolio de trabajo. ESTRATEGIAS DE EVALUACIÓN DE CONTENIDOS PROGRAMÁTICOS Entrega de Programas de acuerdo a temas vistos Respetar horario de entrada a clase. MATERIAL DIDÁCTICO REFERENCIAS BIBLIOGRAFÍCAS POR SESIÓN Realizar programas en forma individual y posterior comparar con el de sus compañeros. Entrega de Glosario en equipo Tolerancia hacia otros. Cañón Computadora Compilador Java Internet El desarrollo de Trabajo debe de iniciarse en las fechas establecidas en tiempo y forma. La entrega de los Ejercicios Prácticos deberá de ser en las fechas establecidas en tiempo y forma. ESTRATEGIAS DE EVALUACIÓN DE SUBHABILIDADES HORAS: 12 CD 4 / 3 AAI http://www.arrakis.es/~j espejo/explicacion.html Computación gráfica y procesamiento de imágenes Elaborar Proyecto Exposición por parte del profesor Discusiones facilitadas por el profesor. Llevar a cabo proyecto final en donde se desarrolle una pequeña aplicación. Tercer Examen y retroalimentación Los exámenes se ponderarán como 50% y los trabajos y tareas como 50%, guardando las evidencias durante el periodo BIBLIOGRAFÍA BÁSICA Y SUGERIDA POR EL DOCENTE: (MISMA QUE SE MENCIONA EN LA UNIDAD 1).