ELO 330 Programación de Sistemas

2º Semestre 2018, 28 sesiones!

Horario de clases: Miércoles 15:40-17:10 en P-202 y Viernes 11:30-13:00 en Lab. P011 en Edificio P2

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

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 UnixAdvanced 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 datosSun 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 

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.

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

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 Pausch

Comentario 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..."