ELO 330 Programación de Sistemas
Segundo Semestre 2013, Miércoles 15:40-17:10 P-202 y Viernes 11:30-13:00 Edificio P2 Sala 7 (P-202).
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:  Manuel Díaz (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 2012 2011)


Fecha
Contenidos Conceptuales, Procedimentales y Actitudinales
Material de apoyo y observaciones
1
25/09
Presentación del Ramo: Programa, Introducción a Unix http://linuxcommand.org/
2
27/09
Programación shell
Shell Programming
3
2/10
Programación shell ¿Qué significa t en permisos de acceso? Ver problemas de certámenes de años pasados
4
4/10
Ejercicios de programación shell
Programación shell, Control de procesos

5
9/10
Control de procesos
6
11/10
Señales
7
16/10
Comunicación entre procesos
8
18/10
Terminamos Comunicación entre procesos
Memoria compartida

9
23/10 Memoria compartida

25/10
Suspensión de clases por Semana Sansana

9
30/10
Concurrencia usando hilos (threads) Tutorial

1/11
Feriado

10
06/11
Sincronización de hilos
11
08/11
Variables de condición, Algo sobre señales en hilos,
12
13/11
Comunicación entre procesos no concentrados (sockets) Informar sobre sitio para inscribir proyectos.
13
15/11
Modelo Cliente-Servidor y multiplexión de I/O usando select
14
20/11
Suspendida por viaje de profesor
15
22/11
Certamen parcial Evaluación hasta clase 13
16
27/11
Comunicaciones multicast

17
29/11
Stream Control Transmission Protocol (SCTP)
Comunicación vía canal encriptado SSL
18
04/11
Ejecución de procesos nativos desde Java 

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

22
18/12
Programación TCP/IP en Java Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo
23
20/12
Aplicaciones Java con acceso a Bases de Datos Sun JDBC Tutorial Lanzar tómbola

25/12
Navidad

25
27/12
Ejecutar ejemplos de DB, Remote Method Invocation (RMI)
RMI en Java 6, Properties en Java  Ejemplo Archivo de propiedades también en xmlIntroducción a XML.

26
03/1
Presentación de proyectos 

27
08/1
Presentación de proyectos
28
10/1
Certamen final Plazo envío de informes

15/1
Certamen recuperativo (todos los contenidos)


Tareas

Tarea: Grupos de 2 alumnos.
Plazo
Notas
Mejores soluciones
T1: Delete con respaldo y Ahorro de Espacio de Disco
23:59 del 7.11
T1
Matias Lacasia
T2: Paquetes retrasados en Telefonía IP 23:59 del 21.11
T2 v1 v2
Luis Muñoz
T3: Emulador de variaciones de "Best Effort" en Conexiones TCP 23:59 del 13.12
T3
Jean Pierre Atuan & Gonzalo Baez
T4: Emulador de Retardo en enlaces TCP en Java (Voluntaria) 23:59 del 09.01.14



Evaluación : Notas:  Finales al 22.01.14 
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 22 de noviembre  y 8 de Enero 2014.
       Certamen 1: 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002  Certamen 2: 2012 2011 2010 2009 2008 2007 2006 2005 2004 2003 2002

Soluciones
Notas
Histograma
Alumnos Destacados (80 ó superior)
C1.Sol
C1.Notas
C1. histo
Matias Lacasia, Javier Marto, Felipe Vera
C2.Sol
C2.Notas
C2.histo
-

    20 % Tareas: Tomar conocimiento del procedimiento de entrega de tareas y de los criterio de evaluación. 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: 04 de diciembre
        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: 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
Javier Marto Apache ActiveMQ OK
8.01
-
Luis A. Muñoz R. Televisión sobre IP OK
3.01
ok
Jean Pierre Atuan Sistema de Denuncias OK
3.01
ok
Gonzalo Báez Manejo de pedidos inteligentes OK
3.01
ok
Matías Lacasia, Felipe Vera Visor de diapositivas distribuido OK
8.01
-15
César Reyes Programación SCTP en Java
!ok
8.01
-10

Encuesta Docente 2012

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