UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERÍA DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS SILABO DE ALGORITMOS Y PROGRAMACIÓN PARALELA I. DATOS GENERALES 1.1 Programa de Estudio (Carrera) 1.2 Área Curricular 1.3 Departamento Académico 1.4 Código 1.5 Currículo: Año/Código 1.6 Año Académico 1.7 Semestre de estudios 1.8 Duración del semestre 1.9 Horas 1.10 Créditos 1.11 Prerrequisitos 1.12 Modalidad de enseñanza 1.13 Docente (s) : : : : : : : : : : : : : Ingeniería en Informática y Sistemas Área de Estudios de Especialidad Ingeniería en Informática y Sistemas 19.03418 2018 - F2 2022-I Tercer ciclo 18 semanas (16-05-2022 al 16-09-2022) [06 horas (02 HT, 02 HP, 02 HL)] 04 créditos 19.02414 Programación Avanzada No presencial Dra. Ing. Ana Silvia Cori Morón [email protected] II. SUMILLA a) Naturaleza La asignatura de Algoritmos y Programación Paralela es de carácter teórico - práctico. b) Propósito Tiene como propósito brindar al futuro profesional de Ingeniería en Informática y Sistemas conocimientos sobre la posibilidad de realizar múltiples tareas simultáneamente mediante hardware, que no es inmediatamente traducida a software, pues las aplicaciones deben ser diseñadas para aprovechar estas nuevas capacidades, mediante el uso de hebras y/o procesos, porque las arquitecturas de computadores están teniendo a incluir cada vez más núcleos y/o procesadores por máquina como método de incrementar la capacidad computacional de cada unidad. c) Contenidos centrales La asignatura de Algoritmos y Programación Paralela es de carácter teórico - práctico. En la asignatura se desarrollarán conceptos básicos acerca de concurrencia y paralelismo, Programas concurrentes. Propiedades de la programación concurrente. Exclusión mutua. Mecanismos de Comunicación y sincronización en memoria compartida. Introducción a la Programación Paralela, Clasificación Lógica del Paralelismo, Clasificación Física de Computadores Paralelos, Paradigmas de Programación Paralela. Diseño de Programas Paralelos. III. COMPETENCIAS 3.1. Competencia Genéricas Institucionales: Expresa ideas y conceptos mediante representaciones lingüísticas, matemáticas o gráficas, se comunica en español y en una lengua extranjera u originaria para ampliar sus redes académicas, sociales y profesionales a nivel nacional e internacional. 3.2. Competencias del Perfil de Egreso: Capacidad para resolver problemas dentro de su área de estudio. Capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. Capacidad de diseñar y realizar experimentos sencillos y analizar e interpretar sus resultados. UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERÍA DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS IV. ORGANIZACIÓN DE LOS CONTENIDOS Y ACTIVIDADES UNIDAD I: PRIMERAS APROXIMACIONES AL PROCESAMIENTO PARALELO El estudiante logra representar gráficamente y en lenguaje de programación paralelo soluciones a los problemas. El estudiante logra la capacidad para resolver problemas dentro de su área de estudio. Evidencia: Informe de prácticas, software, foros de discusión, exposición virtual, participación. Semana Contenidos Actividades Estrategias Metodológicas % 1 Conceptos básicos de Analiza los conceptos básicos Aula invertida algoritmos. de concurrencia, paralelismo y Video conferencia 6% Concurrencia vs Paralelismo. programación concurrente y Lecturas Programación concurrente. paralela. Foro de discusión en el aula Programación distribuida y virtual paralela. 2 Arquitecturas hardware. Realiza el pseudocódigo de los Aula invertida Metodología y notación de la grafos de precedencia Video conferencia 12% programación concurrente y Utiliza las condiciones de Aprendizaje Basado en paralela. Bernstein para determinar si Problemas (ABP) Condiciones de Bernstein e una serie de procesos se Trabajos aula virtual (individual y indeterminismo. pueden ejecutar de forma colaborativo). Grafos de precedencia. concurrente. 3 Programa y proceso. Analiza los conceptos de Aula invertida Procesos e hilos, procesos e hilos. Video conferencia 18% representación y ciclo de vida Aprendizaje Basado en de los procesos, concepto y Problemas (ABP) estructura de un proceso e Trabajos aula virtual (individuall y hilo. colaborativo). Interacción entre procesos. Planificación entre procesos. 4 Sincronización y exclusión Conoce los algoritmos de Aula invertida mutua. sincronización y exclusión Video conferencia 24% Primitivas de sincronización mutua. Aprendizaje Basado en para variables compartidas. Problemas (ABP) Modelos de problemas Trabajos aula virtual (individual y clásicos. colaborativo). 5 Algoritmos de exclusión mutua Conocer los algoritmos de Aula invertida con memoria compartida. sincronización y exclusión Video conferencia Espera ocupada. mutua con variables Aprendizaje Basado en 30% Algoritmos no eficientes. compartidas Problemas (ABP) Primer intento, segundo Trabajos aula virtual (individual y intento, tercer intento, cuarto colaborativo). intento. 6 Analogía de los esquimales. Implementación de los Aula invertida Quinto intento. algoritmos de exclusión mutua Video conferencia 36% Algoritmo de Dekker. para 2 procesos. Aprendizaje Basado en Algoritmo de Peterson. Problemas (ABP) Trabajos aula virtual (individual y colaborativo). 7 Algoritmo incorrecto de Implementación de los Aula invertida Hyman. algoritmos de exclusión mutua Video conferencia 42% Algoritmos de exclusión mutua para n procesos. Aprendizaje Basado en para n procesos. Problemas (ABP) Algoritmo de Knuth y Kesell. Trabajos aula virtual (individual y colaborativo). 8 Algoritmo de EisenbergImplementación de los Aula invertida McGuire. algoritmos de exclusión mutua Video conferencia 48% Algoritmo de Lamport. para n procesos. Aprendizaje Basado en Soluciones hardware Problemas (ABP) Trabajos aula virtual (individual y colaborativo). 9 EVALUACIÓN DE CONOCIMIENTOS VIRTUAL, EVALUACIÓN DE DESEMPEÑO VIRTUAL, 51% EVALUACIÓN DE PRODUCTO VIRTUAL UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERÍA DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS UNIDAD II: MECANISMOS DE COMUNICACIÓN Y SINCRONIZACIÓN EN MEMORIA COMPARTIDA El estudiante logra representar gráficamente y en lenguaje de programación paralelo soluciones a los problemas. El estudiante logra la capacidad de abstracción: capacidad de crear y utilizar modelos que reflejen situaciones reales. El estudiante logra la capacidad diseñar y realizar experimentos sencillos y analizar e interpretar sus resultados. Evidencia: Informe de prácticas, monografía, software, foro de discusión, exposición virtual, participación. Semana Contenidos Actividades Estrategias Metodológicas % 10 Semáforos, conceptos, Comprende y resuelve Aula invertida clasificación y resolución de problemas con semáforos. Video conferencia 57% problemas usando semáforos. Lecturas Las operaciones wait y signal. Foro de discusión en el aula Exclusión mutua y condición virtual de sincronización con semáforos. 11 El problema y algoritmo del Comprende los problemas Aula invertida productor consumidor. El tipos. Implementa programa Video conferencia 63% algoritmo de los lectores y del problema productor Aprendizaje Basado en escritores consumidor. Y de los lectores Problemas (ABPr) y escritores. Trabajos aula virtual (individual y colaborativo). 12 El problema y algoritmo del Implementa programa del Aula invertida barbero durmiente. problema barbero durmiente y Video conferencia 69% El problema y algoritmo de los de los filósofos comensales. Aprendizaje Basado en filósofos comensales. Problemas (ABPr) Trabajos aula virtual (individual y colaborativo). 13 Aula invertida Video conferencia Inconvenientes con el Conoce y discute las 75% Lecturas mecanismo de semáforos. desventajas de los semáforos. Foro de discusión en el aula virtual 14 Monitores, introducción, Comprende y resuelve Aula invertida concepto. problemas con monitores. Video conferencia 81% Sincronización de monitores. Implementa programa del Aprendizaje Basado en Las operaciones delay, resume problema productor Problemas (ABPr) y empty. consumidor Trabajos aula virtual (individual y Implementación de monitores colaborativo). con semáforos. El problema y algoritmo del productor consumidor 15 El problema y algoritmo de los Implementa programa del Uso de Biblioteca Virtual. filósofos comensales. El problema de los filósofos Uso de aula virtual. 87% algoritmo de los lectores y comensales y de los lectores y Trabajos aula virtual (individual y escritores. escritores. colaborativo). Foro de discusión en el aula virtual 16 EVALUACIÓN DE CONOCIMIENTOS VIRTUAL, EVALUACIÓN DE DESEMPEÑO VIRTUAL, 93% EVALUACIÓN DE PRODUCTO VIRTUAL 17 SEMINARIO DE TRABAJOS DE INVESTIGACIÓN VIRTUAL 96% 18 EXAMEN SUSTITUTORIO VIRTUAL 100% V. ESTRATEGIAS METODOLOGICAS Aula Invertida Aprendizaje Basado en Problemas (ABP) Aprendizaje Basado en Proyectos (ABPr) Videoconferencia (o video llamada) Es un enfoque diferente de enseñanza donde el estudiante incorpora información antes de la clase virtual y participa posteriormente en ella. No se requiere la presencia física del Docente. Estrategia que motiva el aprendizaje independiente y ejercita a los estudiantes a abstraer un problema o ejercicio dado y encontrar una solución. Estrategia que motiva el aprendizaje grupal al elaborar un proyecto de fin de curso usando los conocimientos adquiridos. Comunicación simultánea bidireccional de audio y video, que permite mantener reuniones con grupos de personas situadas en lugares alejados entre sí. UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERÍA DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS VI. SISTEMA DE EVALUACIÓN 5.1. MATRIZ DE EVALUACIÓN Unidades I II Producto Académico Técnica de evaluación Examen teórico-práctico Observación virtual Asistencia, interés y Análisis de desempeño esfuerzo personal. Trabajo en equipo. Participación en foro de discusión Proyecto Académico sobre Basada en preguntas los temas tratados PROMEDIO PRIMER PARCIAL Examen teórico-práctico Observación virtual Asistencia, interés y Análisis de desempeño esfuerzo personal. Trabajo en equipo. Participación en foro de discusión Proyecto Académico sobre Basada en preguntas los temas tratados PROMEDIO SEGUNDO PARCIAL Instrumento de evaluación Cuestionario Registro en aula virtual Rúbrica Cuestionario Registro en aula virtual Rúbrica 5.2. PROMEDIOS PRIMER PARCIAL PP1 = 30%PEC+40%PED+30%PEP SEGUNDO PARCIAL PP2 = 30%PEC+40%PED+30%PEP Donde: PP1 : Promedio Parcial 1 PEC : Promedio evidencias de conocimientos PED : Promedio evidencias desempeño PEP : Promedio evidencias de producto Donde: PP1 : Promedio Parcial 1 PEC : Promedio evidencias de conocimientos PED : Promedio evidencias desempeño PEP : Promedio evidencias de producto PROMEDIO FINAL 𝑃𝑃1 + 𝑃𝑃2 𝑃𝐹 = 2 Donde: PF : Promedio final PP1 : Promedio Parcial 1 PP2 : Promedio Parcial 2 5.3. CONSIDERACIONES Con los promedios de los 2 promedios parciales se obtiene el Promedio Final del Curso. Antes de la finalización del semestre se dará al estudiante la oportunidad de un EXAMEN SUSTITUTORIO, que reemplaza a la nota menor de uno de los periodos (1er. Parcial, o 2do. parcial) - (Art. 79 del Reglamento académico de estudios de la pregrado de la UNJBG) El promedio final aprobatorio mínimo será de 11 (art. 261º del Reglamento General de la UNJBG). La inasistencia inferior al 70% de clases teóricas o al 90% de clases prácticas, en cada unidad, resultará en consignar la nota de cero (00) en el acta final. (art. 76º, 80º del Reglamento Académico) Evaluación permanente. Acepciones: El aula virtual tiene como herramientas básicas (tareas, evaluaciones, foros, recursos de aprendizajes, Chats, calificaciones, grupos y lecturas) y todo lo necesario para el dictado UNIVERSIDAD NACIONAL JORGE BASADRE GROHMANN FACULTAD DE INGENIERÍA DEPARTAMENTO ACADÉMICO DE INGENIERÍA EN INFORMÁTICA Y SISTEMAS de clases no presenciales, teniendo en cuenta que no todos los cursos podrán ser virtualizados por la naturaleza del curso, de acuerdo a lo que señale los Departamentos Académicos. El contacto del docente con los estudiantes será SÍNCRONO, que es el proceso de enseñanza aprendizaje en el que el docente y el estudiante están al mismo tiempo en el espacio virtual, pudiendo comunicarse en tiempo real, tendrá que respetar el horario de clases, establecido por la Escuela Profesional y lo declarado en el Plan Individual de Trabajo del docente (PIT) y ASÍNCRONO, proceso de enseñanza aprendizaje en el que el docente y el estudiante no están conectados en el mismo espacio de tiempo virtual, haciendo uso de herramientas como video grabado, PPT, investigación, lecturas, prácticas con modelamiento o instrucciones didácticas. El aprendizaje ASÍNCRONO (será un complemento al proceso de enseñanza SÍNCRONO impartidas por el docente. En el aula virtual existe un módulo llamado EVALUACIONES para calificar el conocimiento del estudiante simulando un examen escrito de manera virtual, podrá evaluar de manera SÍNCRONO dependiendo de la necesidad del curso, usando videoconferencias. VII. BIBLIOGRAFÍA a) Bibliografía básica N° CÓDIGO UBICACIÓN AUTOR TÍTULO AÑO 01 005.72 C32 Biblioteca Central Coronel, E. Lenguaje de programación Java. 2010 02 005.1 J79F Biblioteca Central Drozdek, A. Estructuras de datos y algoritmos con Java. 2007 b) Bibliografía complementaria N° 01 02 03 04 05 AUTOR José Tomás Palma Méndez David Vallejo Fernández Ricardo Galli Almeida F., Gimenez D., Mantas J. & Vidal A M. Ben-Ari TÍTULO AÑO Programación concurrente Programación Concurrente y Tiempo Real Principios y algoritmos de concurrencia 2003 2014 2015 Introducción a la programación paralela 2008 Principles of Concurrent Programming 1982