ELO 330 Programación de Sistemas
Segundo Semestre 2006 ( 32 sesiones)
Profesor: Agustín J. González, oficina: B-301 correo
Horario oficina profesor. Puede escribirme si desea verme fuera de este horario.
Clases: Miércoles 15:40-17:10 B-221 y Viernes 15:40-17:10  B-221.
Ayudante: Alejandro Alviña (email elo330 en elo.utfsm.cl)
Lista de correo: lista_elo330 @ elo.utfsm.cl (ver las instrucciones aquí )
Textos:
Derivados del UNIX y programación de red con Sockets:
   W. Richard Stevens, "Advanced Programming in the UNIX Environment," Addison Wesley, 9º impresión, Julio 1995.
   W. Richard Stevens, "TCP/IP Illustrated, Volumen 1," Addison Wesley, 3º impresión, Mayo 1994.
   Kay A. Robbins and Steven Robbins, "Unix Systems Programming," Prentice Hall, 2003.
Java:
    Core Java : Volume I Fundamentals and Volume II Advanced Features. Cay S. Horstmann & Gary Cornell.

Temas  (programa)  (años previos 2005 2004, 2003 )

2/08  Introducción a Unix
3/08-9/08  Ejemplos de programación shell
Ejemplos: tarea años 2005 2004 2003 2002 ver también certámenes de años anteriores
11/08-16/08    Control de Procesos Aviso publicado por ESO (Revista del Domingo, Mercurio Valpo) Ejemplo Tarea y solución año 2005

18/08 Señales (revisar tarea comando porfiado año 2000  Mejor solución)
23/08 Comunicación Entre Procesos
25/08 Suspensión de actividades por Distinción de Funcionarios por Años de Servicio
30/08 (ver tarea 2004 Batalla Naval y solución
           tarea 2000 "Rapidez aritmética" y su solución)
           Funciones del System V IPC
01/09, 6/09 Comunicación Entre Procesos con Sockets
08/09, 13/09 (en sala M302Modelo Cliente-Servidor y Multiplexión de I/O (Función select)
13/09 Comunicaciones Multipunto
15/09 suspensión de clases or 18 sept.
20/09 Terminamos con Comunicación Multipunto.
22/09 Hilos en POSIX  Página interesante sobre hilos
27/09 Sincronización de Hilos en POSIX.
29/09 Certamen
04/10 Terminanos con Sincronización de hilos
Ya viene .... Programación multimedia en Linux
Java
11/10: Introducción 
Links y Ejemplos
Sobre los siguinetes temas recomiendo revisar material de elo329 y elo330 año anterior:
Fundamentos:
Objetos y Clases,
Herencia,
Interfaces
Manejo de eventos:
ClosableFrame.java
Mimic.java
MimicCharbyChar.java
Programación Gráfica:
Sketch.java
MouseTest.Java 
MulticastTest.java
 con Java
13/10-18/10: Hilos (threads)
20/10 en sala A1(1º piso, Edificio A): Programación de Red
25/10: Programación de multimedia en Linux: Audio, video v4l v4l2

Proyectos presentados (Lista Curso, Tómbola) Orden de presentación

Proyecto
Alumnos
Plazo
Simulación de bola intercambiando entre 4 ventanas simultaneas Diego González Barrientos, Diego Del Valle 10/11
??
OLAVE CACERES, MIGUEL ANGEL
15/11
Implementación de una Interfaz Web para la Central IPPBX Asterisk JUAN PABLO LORCA FAGANDINI & Patricio Valle
15/11
Algoritmos de Compresión de Video
EDUARDO IVAN ALARCON GAUCHE  &  LUIS ENRIQUE ESPINOZA SEVERINO 17/11
Cliente DNS dinámico y configuración de servidor DNS Claudia Codriansky & Francisco Castillo 17/11
Detección Movimiento Flujo imagenes FELIPE ARTURO CONEJERA CORNEJO 22/11
Interfaz de monitoreo de tráfico en un Pc Router MAURICIO ANDRES SOLÍS HERNÁNDEZ &
CESAR EDUARDO MUÑOZ PARRAGUEZ
22/11


Tareas

Tarea
Plazo
Notas
Mejores soluciones
Respaldo Incremental Simple
30/08, 20:00 hrs.
Tarea1
Diego González & Patricio Valle

Revisión Automática de Tarea
22/09 20:00 hrs.
Tarea2
Diego Del Valle & Juan Pablo Lorca

Monitor de Tráfico para Browser
16/10 20:00 hrs
Tarea3
Diego González & Patricio Valle
Diego Del Valle & Juan Pablo Lorca
Monitor de tráfico para Browser en Java
(Idem a tarea 3 pero en Java) Voluntaria
27/11 20:00 hrs




Evaluación Resumen notas al 18/10, Histograma_C1, 5/12Histograma_C2, al 11/12, Finales al 13/12
Mejores alumnos del curso (igual o superior a 80, orden alfabético): César Muñoz, Diego González, Diego del Valle, Mauricio Solís, Patricio valle

Si la nota promedio de certámenes en inferior a 50, esa será su nota del ramo.
    50 % dos certamenes  Fechas: 29 de Septiembre y 8 de Noviembre.  Pauta Certamen 1 Pauta Certamen Final
       Certamen 1: 2005 2004 2003 2002  Certamen 2: 2005 2004 2003 2002
    30 % Tareas: Tomar conocimiento sobre el procedimiento de entrega de tareas y de los criterio de evaluación. Recomendaciones del ayudante. Pueden formar grupos de máximo dos personas para hacer las tareas      

    20 % Proyecto personal  (Inscríbalo aquí , vea temas ya inscritos aca)
       Plazo entrega máximo de proyecto: 10 de Noviembre. Inicio de presentaciones 10/11 según azar.
         3%    Definición puntual del tema 
        7%    Informe

        10 %    Presentación y demostración (evaluda 50% compañeros y 50% el profesor)

       Algunos temas sugeridos: Temas de cursos del IEEE, programación de video y audio en Windows, Análisis de profile en Java, RMI, JMS,   Algoritmos de compresión de video: Teoría, estándares, y bibliotecas, JPEG2000.
Guía de uso de herra
miestas para evaluar desempeño y depurar código (ver gdb y ddd de linux).

User-mode Linux: máquina virtual para correr Linux (permite múltiples computadores corriendo en sólo un computador físico)
RTAI: Real-time Linux Application Interface (Permite escribir aplicaciones en Linux con  restricciones de tiempo real estrictas).

Herramientas de apoyo al desarrollo de proyectos de software. (liga de Domingo Devotto) (Presentación  Motorola).
Control de versiones de aplicaciones.
Algunos sistemas: Sistema de ordenes de trabajo para el taller, Administración de salas en electrónica, Calendario de presentaciones (ver)....
Sistema de reserva vía web para auditorio, laboratorios, sala de profesores, etc.


    Misceláneos
   
Por si hemos olvidado el sentido a lo que hacemos:  Clase magistal de Don Federico Mayor Zaragoza
   
    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 comandos Unix y Creación de makefiles    (versión para impresora)
Manejo de directivas para el preprocesador
    Java
Palta para los autodidactas Sitio de autoestudio de sun
Contenido de CD Java en pañol ELO 

Documentación Java    Directo a especificación de la API

 JDK 1.3.1    ( win ) ( Linux )
 JDK 1.2.2  (win) (Linux) Si las necesita, deberá buscarlas en el sitio SUN (http://java.sun.com).
 JDE (Java Development Environment for Emacs)
  "Paltas" Técnicas sobre Java

Servicio de Contadores y Estadísticas ELO