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.

La edición 2015 de las JCC se llevará a cabo los días 21, 22 y 23 de Octubre en la Facultad de Ciencias Exactas, Ingeniería y Agrimensura de Rosario, en el horario de 10:00 a 20:00

Las JCC se llevaron a cabo por primera vez en noviembre del año 2000. Año tras año 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.

Charlas confirmadas

Sobre enseñanza de Matemática y Programación en una carrera de Ingeniería de Software

La intención es presentar y discutir propuestas y experiencias acerca de cursos fundamentales de Matemática y Programación en el contexto de carreras de Ingeniería de Software, así como sus premisas iniciales, de las cuales las principales son:

  • Que la Ingeniería de Software se beneficiaría de la incorporación de una teoría que habilitara a los practicantes a razonar metódica y explícitamente sobre los programas; es decir, una matemática de los programas, en contraposición al tratamiento de éstos como "cajas negras". (Llamamos a esto "Programación como Matemática".)
  • Que es interesante investigar el desarrollo de una Matemática cuyos objetos son datos y programas, siendo sus nociones básicas la de tipo de dato y algoritmo. (Llamamos a esto "Matemática como Programación".)

Siendo que ninguna de esas dos ideas es enteramente novedosa, quizá lo sea su puesta en obra en el plano de la educación en cursos concretos basados en la Programación Funcional y la Matemática fundamentada en ella. Esta experiencia se pondrá a consideración en la charla.

por Álvaro Tasistro (Universidad ORT - Uruguay)

Cotas Inferiores de Complejidad e Ingeniería de Software

Una cota inferior de complejidad permite afirmar que todos los algoritmos que resuelven un problema dado, tienen al menos una determinada complejidad, esto incluye a los algoritmos conocidos hoy, como también los algoritmos que podrían ser descubiertos en el futuro. Este tipo de resultado refleja un límite para la capacidad de hacer un software eficiente.

Sin embargo, obtener una cota inferior no es facil y requiere definir el modelo de cómputo sobre el que se definen los algoritmos y la medida de complejidad. La dificultad de este procedimiento es que los modelos de cómputo clásicos, como la máquina de Turing, son muy generales y no permiten resultados significativos para ciertos problemas, como por ejemplo algoritmos de eliminación de variables.

En esta charla se presenta un modelo de cómputo que incorpora nociones de Ingeniería de Software. Esta característica permite demostrar cotas inferiores de complejidad exponenciales para los algoritmos actuales de eliminación de variables. En particular, nos referimos a algoritmos construidos bajo el paradigma orientado a objetos que implementan requerimientos no funcionales como la robustez.

Este modelo fue realizado en el marco de mi tesis de doctorado bajo la dirección del doctor Joos Heintz.

por Andrés Rojas Paredes (FCEyN - UBA)

Localización y Reparación Automática de Fallas

En esta charla presentaré trabajo reciente sobre localización automática de fallas a partir de código con contratos, así como técnicas para la reparación automática de las mismas utilizando mutación de código. En la charla discutiré los fundamentos de las técnicas y presentaré demos de herramientas que las implementan. Presentaré también temas de trabajo dentro del grupo que pueden ser de interés para estudiantes que deseen continuar estudios de posgrado.

Trabajo conjunto con Luciano Zemín, Santiago Bermúdez, Nazareno Aguirre, Simón Gutierrez Brida y Santiago Perez de Rosso.

por Marcelo Frias (ITBA)

Introducción a la computación cuántica

La computación cuántica es un paradigma de computación basado en la física cuántica. La idea es tomar la descripción de la evolución de sistemas físicos cuánticos como un proceso de cómputo: éstos tienen un estado inicial, un estado final, y la evolución del sistema puede ser descripta a través de "operadores". Uno de los principales intereses en computación cuántica desde las ciencias de la computación es que existen algoritmos en este modelo de cómputo que tienen ganancias en complejidad con respecto a algoritmos clásicos, en algunos casos llegando hasta ganancias exponenciales. En este mini-curso de dos días se verá una introducción a la computación cuántica, así como algunos ejemplos de algoritmos y una aplicación a criptografía.

Slides día 1

Slides día 2

Apunte del curso

por Alejandro Díaz-Caro (UNQ)

CIAA NXP: Alcances y limitaciones de un port basado en Buildroot/Linux

Hace ya varios años que el kernel Linux soporta arquitecturas sin MMU. En particular, el soporte para ARM cortex-M fue agregado oficialmente en 2013 y el soporte para NXP LPC43xx en 2015.

Esta charla se divide en tres partes. En primer lugar, haremos un repaso de los componentes que permiten correr Linux en la CIAA.

Luego, se analizarán las limitaciones que surgen de correr un sistema basado en Linux sobre una arquitectura sin MMU.

Finalmente, relevaremos el estado actual del soporte, tanto del kernel como del stack en espacio de usuario.

por Ezequiel García (VanguardiaSur)

Slides

Programación Competitiva

La Programación Competitiva ha cobrado popularidad en los últimos años. Es una forma muy amena de profundizar en el uso y entendimiento de Estructuras de Datos y Algoritmos. El objetivo de la charla es iniciar a quién poco (o ningún) contacto ha tenido con el tema, y encauzar a quienes estén interesados a entrenar e incentivar la participación. Se introducirá el tipo de problemas que se trata y la metodología con la que se trabaja a la hora de entrenar algoritmia para competencias. Además los invitaremos a mantenerse en contacto con nosotros y el resto de la comunidad de Argentina y Latinoamérica para entrenar en conjunto.

por Mariano Crosetti, Pablo Zimmermann, Martín Villagra (,,FCEIA - UNR)

Finding scalable solution for a worldwide audience

Because of worldwide massive impact, Google engineers face unique engineering problems every day. As a smart community, once they find a solution to an oft-recurring challenge they build a tool as to avoid reinventing the wheel every time. Tools are improved over time, and extended in order to fit new cases, leading to a mighty tool shed. In this talk I'll highlight some of these challenges and explain what our tools do to solve it, giving you a glance of how we work in this environment.

por Sergio Giro (Google)

La Computación en Tiempos de Paralelismo

El auge y popularidad de nuevas tecnologías y la constante demanda de rápidos resultados en las aplicaciones hizo imprescindible el estudio de nuevas técnicas y metodologías de programación, la computación paralela es una de ellas.

Resolver un problema aplicando técnicas de computación paralela implica plantear una solución computacional donde varias unidades de procesamiento (hardware y software) trabajan cooperativamente y al mismo tiempo para obtener resultados más rápido que en la CPU o en un tiempo razonable.

Varios aspectos deben ser considerados en una solución paralela, pudiendo existir varias o incluso ninguna, todo depende de la naturaleza del problema a resolver.

Hoy en día, los recursos computacionales existentes nos ofrecen un ambiente apto para el desarrollo de computación paralela. Esto no se limita a las arquitecturas multi-core, sino también a otros distintos dispositivos. Un ejemplo de ello son las placas de video o co-procesadores gráficos (GPUs). Ellos constituyen una arquitectura paralela, de bajo costo y alto rendimiento, capaz de resolver problemas de propósito general aplicando técnicas paralelas.

La presente charla tiene como objetivo exponer la necesidad de incluir técnicas paralelas en la soluciones computacionales de problemas de propósito general, mostrando que las GPUs constituyen una opción válida a la hora de pensar en arquitecturas paralelas de cómputo masivo. Finalmente resultados de su utilización son detallados.

por María Fabiana Piccoli (FCFMyN - UNSL)

Introducción a la demostración interactiva de teoremas y a sus desafíos

Los demostradores interactivos de teoremas (ITP, por sus siglas en inglés) son herramientas que nos permiten construir nuestras pruebas paso a paso, interactuando con el entorno para saber qué se debe demostrar en cada paso. Su utilidad ya no es discutida, como lo muestran las miles de pruebas verificadas en ITPs, en áreas tales como álgebra y verificación de sistemas. Sin embargo, no existe al día de hoy una cultura de su uso, tanto en la academia como en la industria. En esta charla se discutirá el estado del arte de los ITPs, haciendo foco en el ITP denominado Coq.

por Beta Ziliani (FaMAF - UNC)

Ciencias de la Computación en la escuela Argentina: Últimos avances y desafíos pendientes

La iniciativa interministerial Program.AR ha conseguido importantes avances en pos de la inclusión de contenidos de ciencias de la computación dentro de los contenidos obligatorios de las escuelas argentinas. En este charla comentaremos dichos progresos, los pasos que esta iniciativa encara para el futuro, así como la importancia de la comunidad académica de las Ciencias de la Computación en esta problemática.

por Pablo Factorovich (Fundación Sadosky)

Historia Desafiar

Desafiar es un juego de simulacion de negocios desarrollado por alumnos de la carrera. Busca inventar el espíritu emprendedor y capacitarlos en el camino. Se basa en gamification, es decir, que aprendan jugando.

por Juan Manuel Baruffaldi y Santiago Iwakawa (DesafiAR)

Historia Disruptive SCience

Emprendimiento que busca mejorar las relaciones de los clientes con las marcas por medio de la ciencia. Utiliza reconocimientos de rostros y de emociones por video. Historia de nuestro paso por la carrera y los trabajos hechos que llevaron al nacimiento de este proyecto.

por Nicolas Pellejero, Juan Manuel Baruffaldi y Santiago Iwakawa (,,Disruptive SCience)

Innovación tecnológica en NeuralSoft

NeuralSoft, desde sus inicios, se ha caracterizado por la búsqueda de soluciones tecnológicas creativas e innovadoras que mejoren el modo de gestionar las empresas.

Al cabo de 26 años de trayectoria, la empresa rosarina se ha convertido en la principal fábrica de software ERP del país y es pionera y líder en Cloud Computing. Uno de sus principales logros ha sido acercar a las Pymes una tecnología de avanzada que hasta entonces sólo estaba disponible para grandes corporaciones.

NeuralSoft invierte casi el 20% de su facturación en Investigación y Desarrollo e incorpora mejoras tecnológicas continuas a sus productos.

En permanente alianza con consultores y desarrolladores internacionales, hoy la empresa se prepara para la expansión global con el lanzamiento de una nueva plataforma tecnológica que tiene por objetivo generar un cambio en el paradigma clásico del software ERP para que el usuario pueda anticiparse a los posibles escenarios mediante técnicas de inteligencia artificial y simulación. Esto marcará un antes y un después en el modo de gestionar las empresas.

por Gustavo Viceconti (NeuralSoft)

Análisis de resiliencia en sistemas embebidos

El estado actual de la tecnología demanda que los sistemas de computación brinden servicios en los que se pueda confiar justificadamente. En consecuencia, un sistema como estos debe tolerar la ocurrencia inesperada de fallas, ataques o accidentes mientras que su ejecución normal continúa respondiendo aceptablemente a parámetros de eficiencia, disponibilidad, confiabilidad, etc. y, obviamente, sin alterar su funcionamiento correcto. La mayoría de los eventos que comprometen el funcionamiento del sistema, al igual que muchas de las actividades en sus componentes, pueden cuantificarse probabilisticamente, lo cual permite hacer un análisis cuantitativo del sistema compuesto. En muchos casos las propiedades a analizar requieren un alto grado de resiliencia. Una propiedad típica es solicitar 99.999% de disponibilidad (“cinco nueves”). Lograr determinar propiedades cuya probabilidad de falla sea muy baja en sistemas complejos puede ser computacionalmente muy demandante. Para este tipo de problemas se idearon técnicas específicas para la simulación de eventos raros. Debido a su generalidad, nosotros hemos escogido enfocarnos en las denominadas técnicas por división de importancia. La efectividad de esta técnica radica precisamente en encontrar buenas funciones de importancias que reflejen adecuadamente la cercanía del evento raro.

En esta charla explicaré la técnicas por división de importancia para simulación de eventos raros y nuestro trabajo actual en la derivación automática de funciones de importancia.

Completaré la charla con un breve resumen de nuestro grupo de investigación (http://dsg.famaf.unc.edu.ar) y de las actividades relacionadas a este proyecto específico de análisis de resiliencia.

por Pedro D'Argenio (FaMAF - UNC)

Ciencias de la Computación en la UNR: 20 años

El Dr. Raúl Kantor, primer Director de la carrera, junto al Lic. Martín Degrati, primer egresado de la Licenciatura en Cs. de la Computación en Rosario, comentarán sobre la historia de la carrera en Rosario.

por Martín Degrati y Raúl Kantor (UNR)

¿Para qué estudiar Ciencias de la Computación?

por Martín Ceresa y Martín Escarrá (FCEIA - UNR)

Cena de camaradería

Valor: $160

Lugar: Salón de Fiestas "Orión". 27 de Febrero 1228

Las entradas estarán a la venta hasta el día Lunes 19 de Octubre

Para consultas, contactarse con la organización: jcc [@] fceia.unr.edu.ar

Entrega de diplomas

El Departamento de Ciencias de la Computación reconoce a aquellos alumnos que han completado el cursado de la Licenciatura en Ciencias de la Computación en el año 2015

Patrocinan

Auspiciantes