Profesor | Carlos Zerón Martínez | ma ju | 17 a 18:30 | 300 (Nuevo Edificio) |
Ayudante | Manuel Ignacio Castillo López | lu mi | 16 a 17 | 300 (Nuevo Edificio) |
Ayud. Lab. | Manuel Ignacio Castillo López | ju | 14 a 16 | Taller de Sistemas Operativos, Redes de Cómputo, Sistemas Distribuidos y Manejo de Información |
La presentación del curso se efectuará el Lunes 8 de Agosto del 2016 a las 16:00 hrs. Se proporcionarán las indicaciones para ingresar al sitio que se servirá como apoyo para este curso:
https://sites.google.com/site/computacionconcurrente/
Objetivo
Contenido del curso
Evaluación
Las tareas consisten de ejercicios para reforzar el material visto en clases o ayudantías, así como resúmenes y trabajos de investigación. Pueden efectuarse a mano o a máquina pero la entrega es impresa. Las tareas pueden presentarse de forma individual o en equipos de hasta dos personas y las fechas de entrega son estrictas, salvo por causas de fuerza mayor que sean comprobables documentalmente.
Los exámenes requieren del reconocimiento y la comprensión de conceptos teóricos, así como del análisis de procesos descritos en pseudocódigo. Se presentan de forma individual y en fecha única, salvo por causas de fuerza mayor que sean comprobables documentalmente.
Las prácticas consisten de la implementación de algoritmos para los problemas estudiados durante el curso, así como de algunas simulaciones. Se utilizará Java como lenguaje de programación base y se introducirá el uso de otros lenguajes con bibliotecas para el soporte de concurrencia. Los lineamientos de entrega de prácticas por correo se definirán en la primera sesión de laboratorio. Las prácticas pueden entregarse de manera individual o en equipos de dos personas y una vez establecida la fecha de entrega, se cuenta con un máximo de cuatro días adicionales para efectuar la entrega, incurriendo en una penalización de dos puntos por día de retraso a partir de la fecha estipulada.
Ocasionalmente se pasará lista en sesiones de clase, ayudantía o de laboratorio. Dependiendo de cómo sea el número de asistencias registradas con respecto al de inasistencias se asignará a cada alumno(a): un incremento de puntuación si el primer número es superior al segundo, un decremento si el primer número es inferior y cero si ambos números son iguales. En particular, si un(a) alumno(a) tiene todas las asistencias, obtendrá un punto adicional sobre la calificación final obtenida y en caso de que no tenga ninguna asistencia registrada, perderá un punto a partir de dicha calificación.
Normas adicionales sobre la evaluación
Se puede presentar la reposición de ejercicios correspondientes a dos tareas. En su momento se determinará si la modalidad de reposiciones es oral o escrita. En su defecto, se puede presentar un examen final, con el cual se renuncia a las calificaciones obtenidas en las tareas y exámenes. En este caso, la evaluación considera los siguientes rubros:
Cada alumno(a) debe entregar impresa la forma de evaluación y las normas adicionales mencionadas firmadas de conformidad a más tardar el 23 de Agosto de 2016, para tener derecho a calificación.
La única forma de que se asigne NP como calificación a un(a) alumno(a) es que no entregue nada. La falta de entrega de las normas adicionales implica la asignación automática de NP.
No se puede renunciar a la calificación final.
Referencias
[1] G. Taubenfeld. Synchronization algorithms and concurrent programming. Prentice Hall, 2006.
[2] M. Raynal. Concurrent Programming: Algorithms, Principles, and Foundations. Springer-Verlag, 2013.
[3] M. Herlihy y N. Shavit. The Art of Multiprocessor Programming. Morgan Kaufmann, 2008.
[4] N. Lynch. Distributed Algorithms. Morgan Kaufmann, 1996.
[5] H. Attiya y J. Welch Distributed Computing: Fundamentals, Simulations and Advanced Topics. Morgan Kaufmann, 1998.
Aclaraciones sobre las referencias
Usaremos la primer referencia como texto para el curso y de forma complementaria nos apoyaremos en las cuatro últimas referencias, así como de artículos que en su momento se indicarán.