Profesor y ayudante
Profesor: Agustín
J. González, oficina: B-301,
correo: agustin p u n t o gonzalez arroba u s
m dot c l
Horario oficina profesor.
Puede escribirme un correo si desea verme fuera de este horario.
Ayudante: Marcelo Cárdenas Zapata, cuenta gmail elo330
punto utfsm
Lista de correo: elo330 @ listas
punto usm punto c l
Textos
- W. Richard Stevens and Stephen A Rago, (2013) "Advanced Programming in the UNIX Environment" 3° Edition, Addison-Wesley. (Códigos de la 3º Edition)
- Cay S. Horstmann & Gary Cornell (2013) Core Java: Volume I Fundamentals and Volume II Advanced Features 9º Edition. Prentice Hall. (Código fuente 9º Edition)
Otros en línea: http://linuxcommand.org/ o The Linux® Command Line de William E. Shotts, Jr.
Contenidos
Programa del curso.
Fecha | Contenidos Conceptuales, Procedimentales y Actitudinales | Material de apoyo y observaciones | |
---|---|---|---|
1 | 05/09 | Presentación del Ramo: Programa, Introducción a Linux | http://linuxcommand.org/ Tiobe index Otro estudio sobre uso de lenguajes Ofertas de trabajo |
2 | 07/09 |
Programación shell Actividad en clases 1: Comandos Unix Actividad en clases 2: Shell |
Shell
Programming Practical
Unix, Advanced
Bash-Scripting
Guide Tarea sin evaluación:instalar
máquina
virtual y ubuntu si usted no lo tiene ya. Ejemplo de Script para ejecutar aplicación |
3 | 12/09 |
Programación shell Ver problemas de certámenes de años pasados |
Tarea: ¿Qué significa la t en acceso a /tmp? Hint: sticky bit.
Para revisar todas las secciones man -a, para conocer uso de secciones ver man man |
4 | 14/09 |
Control de procesos |
|
5 | 26/09 |
Actividad en
clases : Fork Señales |
|
6 | 28/09 |
Actividad en clases: Fork
y señales Comunicación entre procesos |
|
7 | 03/10 |
Comunicación entre procesos | |
8 | 05/10 |
Actividad en clases: trabajo en tarea 1 | |
9 | 10/10 |
Memoria compartida |
|
10 | 12/10 |
Actividad en clase: IPC | |
17/10 | Semana Sansana: Suspensión de clases desde las 14:00 hrs | |
|
11 | 19/10 |
Actividad en clase: Memoria
compartida |
Informar sobre sitio para inscribir proyectos |
12 | 24/10 |
Concurrencia usando hilos (threads) | Tutorial sobre Hilos |
13 | 26/10 |
Suspendida por viaje de profesor |
|
13 | ??/10 |
|
|
14 | 31/10 |
Certamen parcial | |
15 |
07/11 |
Sincronización de hilos | |
16 | 09/11 |
Ejercitación
de hebras |
select
manual
page Comunicación vía canal encriptado SSL |
17 | 14/11 |
Variables de condición Manejo de señales en programación de hebras |
Puertos tarea 47200 al 47204, sólo para pruebas finales,
antes correr los procesos en computador personal. Uso de SCTP (código, readme) |
18 | 16/11 |
Comunicación entre procesos no concentrados (sockets) | |
19 |
21/11 |
Modelo Cliente-Servidor y
multiplexión de I/O usando select Actividad en clase: Aspectos básicos de comunicación con sockets |
|
20 | 23/11 |
Actividad en clase: Servidor
concurrente con hebras Multicast (no cubierto el 2018) Stream Control Transmission Protocol (SCTP)(No cubierto 2018) |
El problema productor/consumidor presentado en manejo de semáforos, ¿Se puede implementar la misma idea usando wait() y notify()? |
21 | 28/11 |
Ejecución
de procesos nativos desde Java Invocación de Métodos Nativos (Java Native Interface, JNI) |
Lanzar tómbola |
22 | 30/11 |
Avance de tarea Handson con JNI |
Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo |
23 | 05/12 |
Hilos y Sincronización de Hebras en Java | |
24 |
07/12 |
Programación
TCP/IP en Java Aplicaciones Java con acceso a Bases de Datos Ejecutar ejemplos de DB |
Sobre diseño
de
bases de datos, Sun
JDBC Tutorial Hasta esta clase inclusive se evaluará en certamen final |
25 | 12/12 |
Presentación de proyectos | |
26 |
14/12 |
Certamen final |
Plazo envío de informes |
27 |
19/12 |
Remote
Method Invocation (RMI) Properties en Java Ejemplo Archivo de propiedades también en xml. Introducción a XML. |
|
28 |
21/12 |
Certamen recuperativo (todos los contenidos) |
Tareas
Instrucciones para Tarea 1 y otras tareas
Tarea: Grupos de 2 alumnos. | Plazo | Notas | Mejores soluciones |
---|---|---|---|
Tarea 1: Verificación
de formato de entregas de tareas de programación |
23 octubre, 20 hrs. |
Informadas por correo |
Jesús Márquez |
Tarea 2: Formulación y
Selección de Preguntas en Foro |
12 de Noviembre, 20 hrs. |
Informadas por correo | David Magiera |
Tarea 3: Formulación y
Selección de Preguntas en Foro Distribuido |
4 de diciembre, 20 hrs. |
Informadas por correo | Jesús Marquez y David Magiera |
Tarea 4: (Voluntaria) Desarrollar servidor de tarea 3 en Java, los clientes pueden seguir operando en C. | 19 de diciembre, 200 hrs. |
--- |
Evaluación Finales al 4.01.19
- 70% Certámenes: Dos certámenes. Usted puede usar sus
apuntes.
- Certamen 1: 31.10.18
- Certamen 2: 14.12.18
- Certamen 1: 31.10.18
- 20% Tareas: Pueden formar grupos de máximo dos personas para hacer las tareas.
- Política de atrasados: 5 puntos por día.
- 10 % Proyecto personal o
en grupo (Inscribirlo aquí,
temas ya inscritos)
- 10% Definición puntual del tema: 27.11.18
- 40% Informe, se entregan la última sesión de presentaciones.
- 50% Presentación (25%) y demostración (25%), evaluada por compañeros y profesor
- 10% Definición puntual del tema: 27.11.18
Si la nota promedio de certámenes es inferior a 50, su nota será: 90% promedio de certámenes 6% Tareas y 4% su proyecto. Usted debe aspirar a obtener 50 ó superior en sus certámenes.
Certámenes
Soluciones | Notas | Histograma | Alumnos Destacados (80 ó superior) |
---|---|---|---|
C1.Solución() |
C1.Notas() |
C1.Histo() |
Jesús Márquez |
C2.Solución() |
C2.Notas() |
C2.Histo() |
Jesús Márquez |
Certámenes de años anteriores
Proyectos
Sugerencias de temas: Comunicación entre procesos y llamados remotos con D-Bus, XML-RPC, SOAP, The Adaptive Communication Environment (ACE), Java Message Service.
- Tómbola, orden de presentación, cronómetro, ingreso evaluación de
pares, resultado evaluación de pares.
- Quien no llegue, presenta al final con penalización de 0.7
- Penalización por atraso en el informe: -5 pts/día
Alumnos | Proyecto | Fecha: Tema/ Presentación/ Informe |
---|---|---|
Jesús
Márquez Barrera |
Automaticación
de Tareas GIT de Ayudantías ELO329-ELO330 |
OK/OK/OK |
David Magiera |
Servidor
para almacenar datos del proyecto anterior (Interfaz para
facilitar los estudios ELO329) |
OK/OK/OK |
Misceláneos
Utilidades GNU
- bash, (Bash "tareado" con tar y luego comprimido con gzip)
- make make en Wikipedia (local en html) , otros
- Ejemplo gnuplot
C y Unix
Java
Por si hemos olvidado el sentido a lo que hacemos: Clase magistral de Don Federico Mayor Zaragoza y última clase del profesor Randy PauschComentario de ex-alumnos después de ceremonia de entrega de becas: "Claro que en retrospectiva queridos profes nos apretaron bastante cuando estuvimos en la U, pero siempre fueron cercanos, ahora con una mirada de futuro a estos nuevos estudiantes apretenlos más, se necesitan buenos ingenieros, y mucho más importante excelentes individuos..."