Nombre y Apellido:
E-mail:
DNI:
Sobre las jornadas

Las Jornadas de Ciencias de la Computación (JCC) se presentan como una iniciativa del Departamento de Ciencias de la Computación de la Facultad de Ciencias Exactas, Ingeniería y Agrimensura de la Universidad Nacional de Rosario, de carácter abierto y gratuito con el objetivo de promover el contacto de los alumnos de la Facultad con investigadores y profesionales en temas relacionados con el ámbito de las ciencias de la computación, al mismo tiempo que nos permite mantenernos actualizados sobre las tendencias en investigación y desarrollo que se realizan en la región.

Las JCC se llevaron a cabo por primera vez en noviembre del año 2000. Desde esa fecha, se han realizado jornadas durante los años 2002, 2004, 2005, 2006, 2007 y 2008. En la exposiciones de todas estas jornadas han participado decenas de personas provenientes de empresas de desarrollo de software local, estudiantes e investigadores de esta casa de estudios y de universidades destacadas de la zona, entre las cuales podemos mencionar a la Universidad Nacional de La Plata, Universidad Nacional de Córdoba, Universidad Nacional de Río Cuarto y la Universidad de la República (Montevideo-Uruguay). La realización de las JCC es un proceso que continúa año a año y constituye un logro significativo del cuerpo de docentes y de estudiantes de la carrera Licenciatura en Ciencias de la Computación.

Cronograma tentativo
 ViernesSabado
9:00 - 10:30

Salón de Actos


Desde su irrupción a fines de la década de 1970, los conjuntos fractales constituyen un tema de creciente interés científico en matemática, física, computación, y en la mayoría de las ciencias aplicadas. Su gran difusión y aplicabilidad interdisciplinaria se debe a varias razones, entre las cuales podemos contar su universalidad como fenómeno natural, sus interesantes propiedades matemáticas, su relativamente sencillo tratamiento computacional, y la sugestiva belleza de sus representaciones gráficas. La geometría fractal se convirtió rápidamente en un lenguaje adecuado para describir las complejas formas naturales, en contraposición con la geometría Euclídea, más amena para las idealizaciones matemáticas. Al mismo tiempo, su descripción matemática se basa en la formulación iterativa o recursiva, en vez de la definición axiomática característica de los objetos matemáticos tradicionales. Estos dos factores hacen de los objetos fractales un recurso sobresaliente a la hora de simular fenómenos naturales de todo tipo.
El objetivo de esta charla consiste en presentar una introducción a los fundamentos matemáticos y algorítmicos de los conjuntos fractales, y algunas de las aplicaciones más importantes de estos conjuntos en la simulación de fenómenos naturales, la computación gráfica y el procesamiento digital de imágenes.
Temario:
Simetría a escala y la medición de objetos complejos. Fractales clásicos y definiciones topológicas. Conjuntos de Cantor, von Koch y Peano. Dimensión no entera. Dimensión fractal de conjuntos matemáticos y de fenómenos naturales. Caos determinístico y fractales. Conjuntos de Julia. La universalidad del caos. Conjunto de Mandelbrot. Algunos formalismos relacionados: autómatas celulares y gramáticas L. Fractales no determinísticos. Métodos espaciales y frecuenciales para la determinación de fractales no determinísticos. Sistemas de función iterada (IFS). Descripción de imágenes por simetría a escala. Teoremas de punto fijo y el teorema del collage. Aplicaciones de los IFS en Computación Gráfica. Síntesis de fenómenos naturales. Procesamiento y compresión fractal de imágenes.

Salón de Actos

10:30 - 11:00 Coffee Break
11:00 - 12:30



In JCC 2008 we have written both a virtual machine launcher and a small, dummy kernel to run inside it. This approach serves to learn about low level programming and processor manipulation. However, the end result is not a real OS kernel suitable to boot on a real PC, but it only works inside the virtual machine created by us. This year, we will develop a real OS kernel from scratch, following the guidelines of the Carnegie Mellon 410 course on Operating Systems but with slight modifications to avoid the need to use a Simics simulator. The end result should be a real OS kernel image capable of booting our PC from persistent media like i.e. a floppy disk or hard disk.

PDF JCC 2008: KVM as a learning tool

Cupos limitados: 50 personas
Inscribirse

Laboratorio Segundo Piso

12:30 - 13:45


Hall del Salón de Actos

Almuerzo
13:45 - 14:30
14:30 - 14:45


Salón de Actos



Demostrar la seguridad de un sistema criptográfico es en general una tarea compleja que requiere razonar sobre campos tan diversos como probabilidad, complejidad computacional y álgebra. No son raros los casos de pruebas que se han considerado correctas por a\F1os hasta que alguien puso en evidencia errores de razonamiento. Por esta razón, y para facilitar la verificación de pruebas de seguridad, la comunidad criptográfica ha adoptado una manera unificada de estructurar las pruebas como secuencias de "juegos": experimentos probabilísticos en presencia de un atacante desconocido pero con poder computacional limitado. Construir una prueba basada en juegos es un proceso creativo que no puede automatizarse en su totalidad. Por otro lado, verificar una prueba basada en juegos, tal como se la presenta en la mayoría de las publicaciones, requiere de un esfuerzo considerable. En esta charla veremos como usando técnicas de verificación formal de programas, podemos obtener pruebas de seguridad basadas en juegos que son correctas por construcción y cuya verificación puede automatizarse completamente. La esencia de nuestra propuesta es representar los experimentos definidos por juegos como programas en un lenguaje de programación probabilístico con una semántica formal. Veremos como muchos de los razonamientos que aparecen en pruebas de seguridad en criptografía se reducen a la demostración de propiedades sobre un programa o de relaciones entre pares de programas. Veremos, además, como muchos pasos en una prueba pueden mecanizarse usando un asistente de prueba (Coq) y técnicas de optimización de programas comúnmente usadas en compiladores (e.g. dead code elimination, constant folding, inline expansion, copy propagation, code reordering).

Salón de Actos

14:45 - 15:30



Debido a su gran complejidad, los lenguajes naturales (castellano, japonés, guaraní, etc.) presentan serias dificultades para la creación de sistemas capaces de manipularlos automáticamente. En particular, el procesamiento del habla --disciplina relativamente joven-- todavía acumula más cuentas pendientes que logros concretos. Sin embargo, en años recientes han comenzado a aparecer aplicaciones con resultados aceptables en dominios acotados, fruto de décadas de investigación, y buen incentivo para continuar trabajando. En esta charla describiré algunos temas centrales del área, incluyendo el reconocimiento automático del habla, la síntesis del habla y el modelado de la prosodia (entonación, ritmo, etc.).

Salón de Actos



Virtualización es uno de los grupos de tecnologias más en boga de los últimos tiempos. Abstraer los recursos de una computadora para simular otras no es una tarea sencilla a priori y presenta una serie de desafios técnico mas que importantes. Durante esta charla se buscan introducir los conceptos fundamentales para entender estas tecnologías, para luego analizarlas desde el punto de vista de la seguridad informática haciendo incapie en el punto de vista del atacante.

Salón de Actos

15:30 - 16:00 Coffee Break
16:00 - 16:45



En programación funcional, los programas consisten de un conjunto de definiciones de funciones que reciben ciertas estructuras de datos como entrada y retornan otras como salida. Dichas funciones se suelen construir como la composición de funciones relativamente simples y sencillas de escribir. Los programas así definidos tienden a ser más modulares, pero su eficiencia puede verse afectada en forma significativa por el uso sistemático de la composición de funciones. Cada composición implica la construcción de una estructura de datos intermedia cuyos valores deben ser alojados en memoria, recorridos y finalmente descartados, requiriendo por lo tanto tiempo adicional de procesamiento, espacio de memoria para alojar nodos de la estructura y frecuentes llamadas al "garbage collector".
Existen técnicas de transformación de programas cuyo objetivo es la eliminación de aquellas estructuras intermedias que no jueguen un rol esencial en la computación. Esto es, se desea transformar el código original a uno equivalente en donde se intenta sustituir las composiciones de funciones por definiciones que combinan de forma adecuada los códigos de las funciones involucradas. A estas técnicas de transformación de programas se las conoce como fusión o deforestación.
En esta charla hablaremos de una técnica de fusión, conocida como "shortcut fusion", y presentaremos una extensión a la misma, mostrando sus aplicaciones. En particular, gracias a esta extensión ha sido posible definir la fusión de programas con efectos colaterales (programas monádicos) y la derivación de programas circulares (tanto puramente funcionales como con efectos).

Salón de Actos



Las aplicaciones actuales tienen requisitos no funcionales como tolerancia a ataques, robustez de uso y mantener confidencialidad de datos. Los sistemas tienen miles de líneas de código y la inspección manual de código se hace prácticamente imposible. El testing es muy dificultoso de diseñar e implementar para descubrir problemas de seguridad. Los métodos de verficación formales no escalan para manejar grandes volúmenes de código. Las técnicas de análisis estático liviano permiten descubrir indicios de problemas haciendo análisis de código fuente. Estas técnicas escalan bien aunque generalmente son conservativas, es decir que pueden producir alertas falsas (falsos positivos). Se analizará su ambiente de aplicación, tipos de errores que pueden encontrarse, algunas herramientas disponibles y las técnicas utilizadas.

Salón de Actos

16:45 - 17:30



En esta presentación se mostrará un modelo colaborativo para cómputos de altas prestaciones (HPC) que permite distribuir programas de naturaleza recursiva. Cuando se trabaja con programas diseñados para brindar soluciones que requieren de procesamiento masivo de datos, se hace evidente la necesidad de contar con equipo especialmente preparado para este tipo de problemas. El enfoque tomado en nuestro proyecto es la utilización de un cluster de computadoras para cómputos de altas prestaciones, utilizando las herramientas de software de Intel. Con esta tecnología se obtienen las ventajas de tener un sistema con bajo costo, escalabilidad al poder insertar fácilmente nuevos nodos y, fundamentalmente, reducción del tiempo de procesamiento por la distribución de tareas.

Salón de Actos



Los métodos formales, cuya aplicación se limitó durante algún tiempo a porciones de sistemas críticos de software/hardware, han ganado popularidad y sus campos de aplicación se han ampliado. En este éxito de los métodos formales, la disponibilidad de herramientas de apoyo, y en particular herramientas para la aplicación de diferentes tareas de análisis, ha jugado un rol importante. En esta charla daremos una breve descripción de varios métodos formales para el análisis de software, poniendo énfasis en el uso de herramientas. Los métodos formales discutidos incluirán métodos formales deductivos, cuyas herramientas son en general asistidas, y métodos formales que ofrecen mecanismos algorítmicos de análisis, como es el caso del modelchecking.

Salón de Actos

18:00 - 19:00  

Acreditación en las Carreras Informáticas

Salón de Actos

19:00 - 20:00  


Salón de Actos

21:00 - ∝   Cena de Camaradería
Disertantes invitados
Auspiciantes

Facultad de Ciencias Exactas, Ingeniería y Agrimensura Universidad Nacional de Rosario Secretaría de Estado de Ciencia, Tecnología e Innovación de Santa Fe

Patrocinadores

Intel Flowgate Neoris

Adherentes

COA Consultora Logo accenture

Contacto
Vínculos