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: Rafael Amadei, cuenta gmail elo330 punto utfsm
Lista de correo: elo330 @ listas
punto usm punto c l , inscribirse aquí.
Textos
- W. Richard Stevens and Stephen A Rago, (2013) "Advanced Programming in the UNIX Environment" 3° Edition, Addison-Wesley. (Códigos 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 | 6.09 | Presentación del Ramo: Programa, Introducción a Linux | http://linuxcommand.org/ Tiobe index Otro estudio sobre uso de lenguajes Ofertas de trabajo |
08/09 |
Suspendida por calendario
académico "Juegos en Ingeniería" |
||
2 | 13/09 |
Programación shell | Shell Programming Practical Unix, Advanced Bash-Scripting Guide Tarea sin evaluación:instalar máquina virtual y ubuntu si usted no lo tiene ya. |
3 | 15/09 |
Actividad en
clases 1: Comandos Unix Actividad en clases 2: Shell Programación shell Ver problemas de certámenes de años pasados |
Tarea: ¿Qué significa la t en acceso a /tmp? Hint: sticky
bit. Para revisar todas las secciones man -a, para conocer uso de secciones ver man man |
4 | 20/09 |
Control de procesos |
|
5 | 22/09 |
Actividad en clases : Fork, Fork y señales |
|
6 | 27/09 |
Señales |
|
7 | 29/09 |
Actividad
en clase: Fork y señales Comunicación entre procesos |
|
8 | 4/10 |
Comunicación entre procesos | |
9 | 6/10 |
Actividad en clase: IPC |
|
10 | 11/10 |
Memoria compartida Explicar Tarea 2 |
|
11 | 13/10 |
Actividad en clase: Memoria compartida |
Informar sobre sitio para inscribir proyectos Tutorial |
18 y 20 / 10 |
Semana Sansana |
||
12 | 25/10 |
Certamen parcial | Se evaluará hasta Memoria Compartida (threads no se incluye) |
27/10 |
Feriado Día Iglesias Evagélicas
y protestantes |
||
01/11 |
Feriado Día de todos los Santos |
||
13 | 03/11 |
Concurrencia usando
hilos (threads) |
|
14 | 08/11 |
Sincronización
de hilos Variables de condición Manejo de señales en programación de hebras |
|
15 |
10/11 |
Comunicación entre procesos no
concentrados (sockets) Actividad en clase |
|
16 | 15/11 |
Modelo Cliente-Servidor y multiplexión de I/O usando select | select
manual page Comunicación vía canal encriptado SSL |
17 | 17/11 |
Actividad en Clase: Servidor concurrente con hebras |
|
18 | 22/11 |
Discusión sobre estructura de la solución de la tarea | Puertos tarea 47200 al 47204, sólo para pruebas finales, antes correr los procesos en computador personal. Uso de SCTP (código, readme) |
19 |
24/11 |
Atención consultas sobre tarea Multicast |
|
20 | 29/11 |
Multicast Stream Control Transmission Protocol (SCTP) Ejecución de procesos nativos desde Java |
El problema productor/consumidor presentado en manejo de semáforos, ¿Se puede implementar la misma idea usando wait() y notify()? |
21 | 01/12 |
Ejecución de procesos nativos desde Java Invocación de Métodos Nativos (Java Native Interface, JNI) Hilos y Sincronización de Hebras en Java Handson con JNI |
Lanzar tómbola |
22 | 06/12 |
Sincronización de hebras que había quedado
pendiente. |
Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo |
08/12 |
Feriado Religioso |
||
23 | 13/12 |
Programación TCP/IP en Java | |
24 |
15/12 |
Aplicaciones Java con acceso a
Bases de Datos Ejecutar ejemplos de DB |
Sobre diseño
de bases de datos, Sun JDBC
Tutorial Hasta esta clase inclusive se evaluará en certamen final |
25 | 20/12 |
Presentación de proyectos | |
26 |
22/12 |
Certamen final (Códigos) | Plazo envío de informes |
Remote Method Invocation (RMI) Properties en Java Ejemplo Archivo de propiedades también en xml. Introducción a XML. |
|||
31 |
?? |
Certamen recuperativo (todos los contenidos) |
Tareas
Instrucciones para Tarea 1 y otras tareas
Tarea: Grupos de 2 alumnos. | Plazo | Notas | Mejores soluciones |
---|---|---|---|
Tarea 1: Procesos antiguos y usuarios recurrentes |
06 Octubre, 20hrs |
Notas, Comentarios, detalles nota |
Marcelo Cárdenas (op.sh), Rothkegel & Rothkegel (ru.sh) |
Tarea 2: Reparación de audio distorsionado |
24 Octubre, 20 hrs. |
Notas, Comentarios, detalles nota |
Felipe Veas |
Tarea 3: Reflejando servidor en Internet |
30 de Noviembre, 20 hrs. |
Notas, Comentarios, detalles nota |
Felipe Veas |
Tarea 4: Reflejando servidor en Internet con Servidor Proxy en Java (voluntaria: Si la entrega, la peor tarea pesa 16% y cada una de las otras tareas 28%. Si no la entrega, las tareas tareas previas son igualmente ponderadas) | 18 de Diciembre, 20 hrs. |
Notas, Comentarios, detalles nota |
Nicolás Frois |
Evaluación Finales al 05.01.2018
- 70% Certámenes: Dos certámenes. Usted puede usar sus
apuntes.
- Certamen 1: 25 de Octubre
- Certamen 2: 22 de Diciembre
- Certamen 1: 25 de Octubre
- 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: 15
de Noviembre
- 40% Informe, se entregan la última sesión de presentaciones.
- 50% Presentación (25%) y demostración (25%), evaluada por compañeros y profesor
- 10% Definición puntual del tema: 15
de Noviembre
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. 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() |
- |
C2.Solución() |
C2.Notas() |
C2.Histo() |
- |
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.
- Tómbola, orden de presentación, cronómetro, ingreso evaluación de
pares, resultado evaluación de pares.
- Quien no llegue, presenta al final con penalización de 0.7
- Penalización por atraso en el informe: -5 pts/día
Alumnos | Proyecto | Fecha: Tema/ Presentación/ Informe |
---|---|---|
Juan Pablo Rothkegel Ide, Johannes Rothkegel Sielfeld |
Chat con capacidades especiales |
!OK / OK / OK |
Felipe Veas |
Interfaz de administración remota para un sintonizador de radio |
!OK / OK / +3 días |
Nicolás Frois |
Coordinador de ayudantía |
!OK / OK / +1 día |
Mauricio Aros, Francisco Cid, Miguel Ferreri |
Implementación de Servidor LAMP con HTTPS en GCP |
!OK / OK / OK |
Marcelo Cárdenas |
CloudAragorn |
OK / OK / OK |
Misceláneos
Utilidades GNU
- bash, (Bash "tareado" con tar y luego comprimido con gzip)
- make make en Wikipedia (local en html) , otros
- Ejemplo gnuplot
C y Unix
Java
Por si hemos olvidado el sentido a lo que hacemos: Clase magistral de Don Federico Mayor Zaragoza y última clase del profesor Randy PauschComentario 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..."