ELO 330 Programación de Sistemas
Segundo Semestre 2005 (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 17:20-18:50 B-221.
Ayudante: Eduardo González (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.
Java:
    Core Java : Volume I Fundamentals and Volume II Advanced Features. Cay S. Horstmann & Gary Cornell.

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

  Introducción a Unix  y Ejemplos de programación shell
Ejemplos: tarea años 2004 2003 2002 ver también certámenes de años anteriores
Desafio: ¿Podemos entender el script para verificar el sitio usado para acualizar Lunix?
    Control de Procesos
    Señales (revisar tarea año 2000  Mejor solución)
    Comunicación Entre Procesos (ver tarea2004 y solucióntarea 2000 y su solución)
    Funciones del System V IPC
    Comunicación Entre Procesos con Sockets
    Modelo Cliente-Servidor y Multiplexión de I/O (Función select)
    Comunicaciones Multipunto  
Java
Introducción 
Links y Ejemplos
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
Creación de procesos nativos y comunicación con Java
Hilos (threads)
Programación de Red

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

Proyecto
Alumnos
Plazo
Sistema de Gestión de Información usando Java Servlets y Protocolo JDBC
Solange Ahumana y Bernardo Malet
OK
Interacción con Dispositivos en el Puerto USB y su Control en Linux
Alejandro Alviña y Gonzalo Saavedra
OK
RTAI : Real Time Application Interface
Rodrigo Camacho y Gabriel Sepúlveda
OK
Java RMI: Java Remote Method Invocation
César Vásquez
OK
Introducción a SDL
Gabriel Cisterna y Bruno Mundaca
17/11
Introducción a la API JExcel Andrés Cerón y Carlos Silva 18/11
Algoritmos de Compresión de Vídeo
José Miguel Pérez
18/11
JWebCams
Daniel Arancibia y César León
 24/11

Cuadro de honor al término del ramo: Alumnos con nota superior o igual a 80%. Felicitaciones a todos!!

Solange Ahumada, Bruno Mundaca, Gonzalo Saavedra, Gabriel Sepúlveda, Carlos Silva, César Vasquez.


Tareas

Tarea
Plazo
Notas
Mejores soluciones
rp: Revisión de permisos
18/08 20:00 hrs
 Ver
 Reccorrecciones
Gonzalo Saavedra & Alejandro Alviña
Rodrigo Camacho y Gabriel Sepúlveda

gping: Ping gráfico con matlab
01/09 05/09 20:00 hrs
Ver
César Vásquez
Alejandro Alviña & Gonzalo Saaveda Daniel Arancibia & César León
eloproxy: Gráficos de tráfico vía proxy 26/09 20:00 hrs
ver notas
Rodrigo Camacho & Gabriel Sepúlveda
Andrés Cerón & Carlos Silva
ChatServer y ChatClient: Sistema Chat en Java
21/11 20:00 hrs
Ver Notas
Andrés Cerón y Carlos Silva



Evaluación Resumen notas al 14/10al 28/10al 8/11, al 28/11, después de recuperativo 30/11
Si la nota promedio de certámenes en inferior a 50, esa será su nota del ramo.
    50 % dos certamenes  Fecha : 30 de Septiembre y 4 de Noviembre.  Pauta Certamen 1 Pauta Certamen Final
       Certamen 1: 2004 2003 2002  Certamen 2: 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

      Si necesitan acceso a recursos computacionales consideren el uso del laboratorio INTEL ubicado en el 3ie (31/08/05 Liga no válida, el 3ie cambió su sitio :(.
        
    20 % Proyecto personal  (Inscríbalo aquí , vea temas ya inscritos aca) Detalles en notas del proyecto
       Plazo entrega máximo de proyecto: 16 de Noviembre. Inicio de presentaciones 9 (voluntarias), 16/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 audio en Linux, programación de video y audio en Windows, Java Media Framework, Xerces (parser XML para Java), JMeter-JUnit, Análisis de profile en Java, J2EE: RMI, JMS, Conexión Java Bases de datos, Servlets; 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)....


    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