ELO 330 Programación de Sistemas

2º Semestre 2015

Miércoles 15:40-17:10 P-202 y Viernes 11:30-13:00 Lab. B215

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: Felipe Vera A. (email es felipe p u nt o veraa arr oba al u mno s punto u s m dot c l )

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ódigo 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 7.10 Presentación del Ramo: Programa, Introducción a Unix http://linuxcommand.org/ Tiobe index
2 9.10 Actividad en clases
Programación shell
Shell Programming Practical Unix,  Tarea sin evaluación:instalar máquina virtual y ubuntu si usted no lo tiene ya.
3 14.10 Programación shell Tarea: ¿Qué significa la t en acceso a /tmp? Hint: sticky bit. Ver problemas de certámenes de años pasados
4 16.10 Actividad en clases
Programación shell

5 21.10 Control de procesos

23.10 Suspensión de actividades "Puertas Abiertas"
6 28.10 Control de procesos,   Señales
7 30.10 Actividad en clases
Comunicación entre procesos

8 4.11 Comunicación entre procesos
9 6.11 Actividad en clases
 
10 11.11 Memoria compartida

11 13.11 Actividad en clases, uso de control de versiones Informar sobre sitio para inscribir proyectos
12 18.11 Concurrencia usando hilos (threads)
Sincronización de hilos
Tutorial
Hasta aquí para el certamen parcial
13 20.11 Actividad en Clases: Concurrencia
Variables de condición. Algo sobre señales en hilos

14 25.11 Certamen parcial
15 27.11 Comunicación entre procesos no concentrados (sockets)

17 2.12 Modelo Cliente-Servidor y multiplexión de I/O usando select

select manual page
Comunicación vía canal encriptado SSL
18 4.12 Multicast
Stream Control Transmission Protocol (SCTP)
Uso de SCTP (código, readme)
19 9.12 Ejecución de procesos nativos desde Java
Invocación de Métodos Nativos (Java Native Interface, JNI)

20 11.12 Hilos y Sincronización de Hebras en Java
Problema productor/consumidor visto antes lo resolvimos con dos semáforos, ¿Se puede usar la misma idea usando wait() y notify()?
21 16.12 Programación TCP/IP en Java Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo
22 18.12 Aplicaciones Java con acceso a Bases de Datos Sobre diseño de bases de datosSun JDBC Tutorial Lanzar tómbola
23 23.12 Ejecutar ejemplos de DB,
Remote Method Invocation
(RMI)

24 30.12 Presentación de proyectos (NO se puede hacer por restricción en calendario académico)

25 6.01 Certamen final
26 8.01 Presentación de proyectos (todos presentan aquí, nos quedaremos más tarde si es necesario)
Plazo envío de informes

22.01 Certamen recuperativo (todos los contenidos)

Tareas

Instrucciones para Tarea 1 y otras tareas

Tarea: Grupos de 2 alumnos. Plazo Notas Mejores soluciones
Tarea 1: Accesos y usos de usuarios de Aragorn 3 de Nov. 23:59 hrs T1.notas
Karl Heitmann & Maximiliano Zamora
Tarea 2: Reparación de audio afectado por pérdidas de paquetes 24 de Nov. 23:59 hrs. T2.notas V2
Richard Atuan & Felipe Fernández
Tarea 3: Batalla Naval
14 de Dic. 23:59 hrs.
T3.notas
Karl Heitmann & Maximiliano Zamora
Tarea 4: Chat de Audio
11 18 de Enero 23:59 hrs.
T4.notas (comentarios)
Felipe Fernández & Richard Atuan

Evaluación  Finales al 22.01.2016  23.01.2016

  • 70% Certámenes: Dos certámenes. Usted puede usar sus apuntes.
    • Certamen 1: 25 de noviembre
    • Certamen 2: 6 de enero
  • 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 (Inscribalo aquí, temas ya inscritos)
    • 10% Definición puntual del tema: 27 de Nov. 2 de dic.
    • 50% Informe, se entregan la última sesión de presentaciones.
    • 40% Presentación (50%) y demostración (50%), evaluada por compañeros y profesor

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.
Ud. no podrá aprobar, luego 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()
Oscar Tapia
C2.solución()
C2.Notas()
C2.Histo()
Felipe Fernández

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 Fecha Presentación Fecha Informe
Richard Atuan Toledo, Felipe Fernández Pino Comunicación con Sensores Remotos vía WiFi
!OK
8 de Enero 2016 !OK (3 días)
Matias Barrios
Demostracion de leyes de little Mediante simulacion del funcionamiento de un servidorla
!OK
8 de Enero 2016
OK
Roberto Cifuentes, Oscar Tapia Privatizacion en el envío de datos entre medidores y un centro de Estadística
OK
8 de Enero 2016 OK
Karl Heitmann Simulador de recepción de datos de un grupo electrógeno
!OK
8 de Enero 2016 !OK (3 días)

Misceláneos

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

Cambios de opinión en el tiempo

Utilidades GNU

C y Unix

Java