ELO 330 Programación de Sistemas
Segundo Semestre 2014, Miércoles 15:40-17:10 P-202 y Viernes 11:30-13:00 Edificio P2 Sala 7.
Textos    Contenidos    Tareas    Evaluación   
Profesor: Agustín J. González, oficina: B-301
agustin p u n t o  gonzalez arroba    u s m  dot c l 
Horario oficina profesor. Puede escribirme si desea verme fuera de este horario.
Ayudante: Felipe Vera (email cuenta gmail es elo330 punto utfsm)
Lista de correo: elo330 @ listas punto utfsm punto c l (ver las instrucciones aquí )
Textos:
Programación en SO derivados de UNIX:
   Sumitabha Das, "Your UNIX: The Ultimate Guide", Mc Graw Hill, 2º Edition, 2005. También puede considerar http://linuxcommand.org/ o The Linux® Command Line
de William E. Shotts, Jr.

   W. Richard Stevens and Stephen A Rago, "Advanced Programming in the UNIX Environment", Addison-Wesley, 2º Edition, 2005. Código fuentes del libro, sitio del libro.
Programación Sockets:
   W. Richard Stevens, Bill Fenner, and Andrew M Rudoff, "Unix Netwrok Programming: The Sockets Networking API", Volumne 1, Pearson Education, 3º Edition, 2004.
Java:
   Core Java 2 : Volume I Fundamentals and Volume II Advanced Features. Cay S. Horstmann & Gary Cornell, California : Sun Microsystems Press, 2003 (código fuentes del libro)

Contenidos  (años previos 2013) Programa


Fecha
Contenidos Conceptuales, Procedimentales y Actitudinales
Material de apoyo y observaciones
1
13/08
Presentación del Ramo: Programa, Introducción a Unix http://linuxcommand.org/ Tiobe index
2
20/08
Programación shell (Asistencia a charla de Richard Stallman)
Shell Programming Practical Unix,  Tarea sin evaluación:instalar máquina virtual y ubuntu si usted no lo tiene ya..
3
22/08
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
27/08
Programación shell

5
29/08
Control de procesos
6
03/09
Control de procesos,   Señales
7
05/09
Comunicación entre procesos
8
10/09
Comunicación entre procesos
9
12/09
Memoria compartida  


Vacaciones de Estudiantes Feriado Fiestas Patrias

10
24/09
Concurrencia usando hilos (threads)
Sincronización de hilos
Tutorial
11
26/09
Sincronización de hilos
Informar sobre sitio para inscribir proyectos
12
01/10
Variables de condición. Algo sobre señales en hilos
Hasta aquí para el certamen parcial
13
03/10
Comunicación entre procesos no concentrados (sockets)


14
08/10
Certamen parcial
15
10/10
Modelo Cliente-Servidor y multiplexión de I/O usando select

16
15/10
Comunicaciones multicast

17
17/10
Stream Control Transmission Protocol (SCTP)
Comunicación vía canal encriptado SSL, Plazo inscribir proyectos
Uso de SCTP (código)


Semana Sansana (puertas abiertas) Todos a participar

18
29/10
Ejecución de procesos nativos desde Java

19
5/11
Invocación de Métodos Nativos (Java Native Interface, JNI)
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()?
20
7/11
Terminar Sincronización de hebras.

21
12/11
Programación TCP/IP en Java
Contestar encuesta Satisfacción
Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo
22
14/11
Aplicaciones Java con acceso a Bases de Datos Sobre diseño de bases de datosSun JDBC Tutorial Lanzar tómbola
23
19/11
Ejecutar ejemplos de DB,
Remote Method Invocation (RMI)

24
21/11
Presentación de proyectos 

25
26/11
Presentación de proyectos Plazo envío de informes
26
28/11
Certamen final

3/12
Certamen recuperativo (todos los contenidos)


Tareas  Instrucciones

Tarea: Grupos de 2 alumnos.
Plazo
Notas
Mejores soluciones
Tarea 1: Cambios de nombres de archivos y directorios al "estilo Unix"
Plazo 23 de  Septiembre, 23:59 hrs. T1.Notas
Pascal Sigel y Oscar Silva
Tarea 2: Procesando audio usando código libre Plazo 10 de Octubre, 23:59 hrs.
T2.Notas
Marco Benzi y Andrés Ulloa
Tarea 3: Emulador de Variaciones de Retardo y Pérdidas en Transferencias UDP Plazo: 29 de Octubre 3 de Nov., 23:59 hrs.
T3&4.Notas
Niklas Tampier y Felipe Acevedo
Tarea 4: Emulador de Variaciones de Retardo y Pérdidas en Transferencias UDP en lenguaje Java
Plazo:  26 de Nov. 23:59 hrs.
T3&4.Notas
programas  de prueba usados por ayudante

Marco benzi y Andrés Ulloa

Evaluación : Notas Finales al 17.12  18.12
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.
    70 % dos certámenes  Usted puede usar sus apuntes. Fechas 8/10 y 26 28/11.
       Certamen 1: 13 12 11 10 09 08 07 06 05 04 03 02  Certamen 2: 13 12 11 10 09 08 07 06 05 04 03 02

Soluciones
Notas
Histograma
Alumnos Destacados (80 ó superior)
C1.Sol()
C1.Notas()
C1.Histo()
Pascal Sigel
C2.Sol()
C23.Notas()
C2.Histo()
Felipe Acevedo

    20 % Tareas: instrucciones. 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  (Inscríbalo aquí , vea temas ya inscritos)
         10%    Definición puntual del tema: 15 17 de Octubre.
        40%    Informe, se entregan la última sesión de presentaciones.
        50%    Presentación y demostración, evaluada por compañeros y profesor
Sugerencias de temas: Comunicación entre procesos y llamados remotos con D-Bus, XML-RPC, SOAP,  The Adaptive Communication Environment (ACE)Active MQ, Java Message Service,

Proyectos desarrollados por Alumnos según orden de presentación: Tómbola Cronómetro Evaluación de pares Notas de Presentación

Alumnos
Proyecto
Quien no llegue, presenta al final con penalización de 0.7
Fecha Tema
Fecha Presentación
Fecha Informe
-5 pts/día
Marco Benzi, Andrés Ulloa Interfaz virtual para mejoramiento de calidad de voz OK
OK
-
Heinrich Reinking Estay Alarma con disparador remoto de acciones
!ok
OK
-
Roberto Farías, Cristóbal Badilla Streaming de archivos multimedia
OK
OK
-
Gabriela Altamirano, Camilo Barra, Sebastian Marquez Transmisión de datos desde un móvil Android a un servidor local
OK
OK
-5
Pascal Sigel, Oscar Silva Entrenamiento Paralelo de Redes Neuronales
!ok
OK
?
Felipe Acevedo, Niklas Tampier Programación Paralela SIMD con MPI
OK
OK
-10

Encuesta Docente 2013

Misceláneos
   
Ejemplos de programación de audio en linux usando ALSA.
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

    Introducción a EMACS
    Migración de Windows a Linux

Manuales GNU
        bash ,(Bash "tareado" con tar y luego comprimido con gzip
        make  (local en html) , otros
       Ejemplo gnuplot
C y Unix
Historia de los shell
Manejo de directivas para el preprocesador
Servidor X para Windows
    Java
Documentación Java    Directo a especificación de la API
Software en Electrónica
 JDE (Java Development Environment for Emacs)
Servicio de Contadores y Estadísticas ELO