ELO 330 Programación de Sistemas

2º Semestre 2017, 26 sesiones!

Horario de clases: Miércoles 15:40-17:10 en P-202 y Viernes 11:30-13:00 en Lab.9 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:   Rafael Amadei, cuenta gmail elo330 punto utfsm

Lista de correo: elo330 @ listas punto usm punto c l , inscribirse aquí.

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 6.09 Presentación del Ramo: Programa, Introducción a Linux http://linuxcommand.org/ Tiobe index  Otro estudio sobre uso de lenguajes Ofertas de trabajo  

08/09
Suspendida por calendario académico "Juegos en Ingeniería"

2 13/09
Programación shell Shell Programming Practical UnixAdvanced Bash-Scripting Guide Tarea sin evaluación:instalar máquina virtual y ubuntu si usted no lo tiene ya.
3 15/09
Actividad en clases 1: Comandos Unix
Actividad en clases 2: Shell
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 20/09
Control de procesos

5 22/09
Actividad en clases : Fork, Fork y señales

6 27/09
Señales

7 29/09
Actividad en clase: Fork y señales
Comunicación entre procesos

8 4/10
Comunicación entre procesos
9 6/10
Actividad en clase: IPC
 
10 11/10
Memoria compartida
Explicar Tarea 2

11 13/10
Actividad en clase: Memoria compartida
Informar sobre sitio para inscribir proyectos
Tutorial

18 y 20 / 10
Semana Sansana

12 25/10
Certamen parcial Se evaluará hasta Memoria Compartida (threads no se incluye)

27/10
Feriado Día Iglesias Evagélicas y protestantes


01/11
Feriado Día de todos los Santos

13 03/11
Concurrencia usando hilos (threads)

14 08/11
Sincronización de hilos
Variables de condición  Manejo de señales en programación de hebras

15
10/11
Comunicación entre procesos no concentrados (sockets)
Actividad en clase

16 15/11
Modelo Cliente-Servidor y multiplexión de I/O usando select select manual page
Comunicación vía canal encriptado SSL
17 17/11
Actividad en Clase: Servidor concurrente con hebras

18 22/11
Discusión sobre estructura de la solución de la tarea Puertos tarea 47200 al 47204, sólo para pruebas finales, antes correr los procesos en computador personal.
Uso de SCTP (código, readme)
19
24/11
Atención consultas sobre tarea
Multicast

20 29/11
Multicast
Stream Control Transmission Protocol (SCTP)
Ejecución de procesos nativos desde Java
El problema productor/consumidor presentado en manejo de semáforos, ¿Se puede implementar la misma idea usando wait() y notify()?
21 01/12
Ejecución de procesos nativos desde Java
Invocación de Métodos Nativos (Java Native Interface, JNI)
Hilos y Sincronización de Hebras en Java
Handson con JNI
Lanzar tómbola
22 06/12
Sincronización de hebras que había quedado pendiente.
Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo

08/12
Feriado Religioso

23 13/12
Programación TCP/IP en Java
24
15/12
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 20/12
Presentación de proyectos
26
22/12
Certamen final   (Códigos) Plazo envío de informes


Remote Method Invocation (RMI)
Properties en Java  Ejemplo Archivo de propiedades también en xml.  Introducción a XML.

31
??
Certamen recuperativo (todos los contenidos)

Tareas

Instrucciones para Tarea 1 y otras tareas

Tarea: Grupos de 2 alumnos. Plazo Notas Mejores soluciones
Tarea 1:  Procesos antiguos y usuarios recurrentes
06 Octubre, 20hrs
Notas, Comentarios, detalles nota
Marcelo Cárdenas (op.sh), Rothkegel & Rothkegel (ru.sh)
Tarea 2: Reparación de audio distorsionado
24 Octubre, 20 hrs.
Notas, Comentarios, detalles nota
Felipe Veas
Tarea 3: Reflejando servidor en Internet
30 de Noviembre, 20 hrs.
Notas, Comentarios, detalles nota
Felipe Veas
Tarea 4:  Reflejando servidor en Internet con Servidor Proxy en Java (voluntaria: Si la entrega, la peor tarea pesa 16% y cada una de las otras tareas 28%. Si no la entrega, las tareas tareas previas son igualmente ponderadas) 18 de Diciembre, 20 hrs.
Notas, Comentarios, detalles nota
Nicolás Frois

Evaluación  Finales al 05.01.2018

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()
-
C2.Solución()
C2.Notas()
C2.Histo()
-

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
Juan Pablo Rothkegel Ide, Johannes Rothkegel Sielfeld
Chat con capacidades especiales
!OK / OK / OK
Felipe Veas
Interfaz de administración remota para un sintonizador de radio
!OK / OK / +3 días
Nicolás Frois
Coordinador de ayudantía
!OK / OK / +1 día
Mauricio Aros, Francisco Cid, Miguel Ferreri
Implementación de Servidor LAMP con HTTPS en GCP
!OK / OK / OK
Marcelo Cárdenas
CloudAragorn
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..."