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: Jesús Márquez, cuenta gmail elo330 punto utfsm
Lista de correo: elo330 @ listas
punto usm punto c l
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 | 25/09 | Presentación del Ramo: Programa, Introducción a Linux | http://linuxcommand.org/ Tiobe index Otro estudio sobre uso de lenguajes Ofertas de trabajo |
2 | 27/09 |
Programación shell Actividad en clases 1: Comandos Unix Actividad en clases 2: 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. Ejemplo de Script para ejecutar aplicación |
3 | 02/10 |
Terminar 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 | 04/10 |
Control de procesos Actividad en clases : Fork |
|
09/10 | ¡Esta case se adelanta para el martes 9 a las 11:30 en P011!Esta clase se recuperará en día y hora por anunciar. | ||
5 | 11/10 |
Señales Actividad en clases: Señales Comunicación entre procesos |
|
6 | 15/10 |
Clase recuperativa en P011 Actividad en clases: Señales Comunicación entre procesos |
|
7 | 16/10 |
Comunicación entre
procesos Ejercicios de Comunicación entre procesos |
|
8 | 18/10 |
Actividad en clases: Comunicación
entre procesos Memoria Compartida |
|
19/10 al 03/12 | Receso por Movilización Nacional | ||
04/12 | Pospuesta por Sesión extraordinaria del Consejo Académico | ||
9 | 06/12 |
Memoria
compartida (mencionar Tarea
2) videos: part1,
part2, part3 |
|
10 | 10/12 |
Actividad en clase: Memoria Compartida (recupera sesión del 4/12) (video) | ¿Se ocupa
memoria compartida profesionalmente? |
11/12 | Pospuesta por Sesión ordinaria del Consejo Académico | ||
11 | 13/12 |
Concurrencia usando
hilos (threads) (video) |
Informar sobre sitio para inscribir proyectos |
12 | 17/12 |
Actividad en clase: Concurrencia sin sincronización (Recupera sesión del 11/12) (video) | Tutorial sobre Hilos |
13 | 18/12 |
Sincronización de hilos (video) | |
13 | 20/12 |
Actividad en clases: Concurrencia
sincronizada Variables de condición (video) |
|
14 | 27/12 |
Informar fechas de certámenes Manejo de señales en programación de hebras Comunicación entre procesos no concentrados (sockets) (video) |
|
15 |
03/01 |
Actividad en clase: Aspectos
básicos de comunicación con sockets Modelo Cliente-Servidor y multiplexación de I/O usando select (video) |
select
manual
page Puertos tarea 47200 al 47204, sólo para pruebas finales, antes correr los procesos en computador personal. socket(7) describe las opciones posibles para configurar un socket con setsockopt() |
16 | 07/01 |
Clase adelantada
por Reunión del consejo académico el 8/01(fue corrida
para el 15/01) Actividad en clase: Servidor concurrente con hebras Multicast Stream Control Transmission Protocol (SCTP)(video) |
Comunicación
vía
canal encriptado SSL Uso de SCTP (código, readme) |
17 | 08/01 |
Ejecución
de procesos nativos desde Java Invocación de Métodos Nativos (Java Native Interface, JNI) (video) |
|
18 | 10/01 |
Handson con JNI Hilos y Sincronización de Hebras en Java (video) Versión de PandC que no funciona al usar estrategia usada con dos semáforos full y empty. A cambio se puede usar una implementación de semáforos basada en el mecanismo de exclusión ofrecido por Java. |
El problema productor/consumidor presentado en manejo de semáforos, ¿Se puede implementar la misma idea usando wait() y notify()? |
15/01 | La clase fue adelanta para liberar día por consejo académico | ||
19 |
17/01 |
1er Certamen |
Contenidos a evaluar hasta Concurrencia, clase del 20
inclusive |
Receso Vacaciones Profesor | |||
20 | 05/02 |
Programación TCP/IP en Java (video) | Java
Networking tutorials Comunicación Java vía canal encriptado Paquete javax.net.ssl ejemplo: echo |
21 | 07/02 |
Aplicaciones Java con acceso a Bases de Datos (Videos: Conceptos de bases de datos, 18/02 PM, acceso a bases de datos desde Java, 19/02 AM) | Sobre diseño de bases de datos, Oracle JDBC Tutorial |
22 | 19/02 |
Remote Method Invocation (RMI)(video) | Documentación,
Ejemplo
de uso de RMI Hasta esta clase inclusive se evaluará en certamen final |
23 |
21/02 |
Presentación de proyectos Se cambia por sesión única 29/02 (orden de presentaciones) | |
24 | 26/02 |
Certamen final | |
25 |
28/02 |
Presentación de
proyectos |
Plazo envío de informes |
29/02 | Presentación única de proyectos (a petición del cuso) (video) | 20 hrs. Plazo envío de informes | |
26 |
Certamen recuperativo (todos los contenidos) |
Tareas
Instrucciones para Tarea 1 y otras tareas
Tarea: Grupos de 2 alumnos. | Plazo | Notas | Mejores soluciones |
---|---|---|---|
Tarea 1: Análisis de archivos
comprimidos con soluciones de tareas |
29
de octubre 10 de Enero 2020, 20 hrs. a través de AULA
preferiblemente o git ELO |
||
Tarea 2: Formulación y
Selección de Preguntas en Foro |
17 de Enero 2020, 20 hrs solo a
través de git ELO |
||
Tarea 3: Formulación y
Selección de Preguntas en Foro Distribuido |
03 de Febrero 2020, 20 hrs a
través de GIT ELO |
||
Tarea 4: Formulación y Selección de Preguntas en Foro Distribuido en Java. Se trata de la misma descripción de T3, pero con implementación en Java para los tres programas. | 17 de febrero 2020, 20 hrs a
través de GIT ELO |
Evaluación Finales al: 16.03.2020
- 70% Certámenes: Dos certámenes. Usted puede usar sus
apuntes.
- Certamen 1: Mediados de Enero (Fase I): 15
17 de Enero
- Certamen 2: Fines de Febrero (Fase I): 26 de
Febrero
- Certamen 1: Mediados de Enero (Fase I): 15
17 de Enero
- 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 (Inscribirlo aquí,
temas ya inscritos)
- 10% Definición puntual del tema: 22 de Enero
- 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: 22 de Enero
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 |
---|---|---|
Ariel
Gamboa - Rodrigo Jimenez |
Acceso
general sincronizado a un inventario |
OK / OK / OK |
Luis Bahamondes, José Pablo Fuenzalida | Ultimate Chess Aragorn 3.0 | OK / OK / OK |
José Catalán Fuentes | Administrador remoto de escaners y mapeos de sitios | OK / !OK / OK |
Francisco Pereira y Sebastián Ubiergo | Algoritmos genéticos para el desarrollo de filtro pasivos | OK / OK / OK |
Matías Contreras - Stefano Aguilera | Sensado Remoto de Recipientes Hídricos Artesanales | OK / OK / OK |
Steev Gonzalez |
Solución integrada
de monitoreo industrial |
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..."