16 research outputs found

    Hacia la composición paralela de programas en DynAlloy

    Get PDF
    En este artículo estudiamos una extensión del lenguaje DynAlloy con un operador de composición paralela de acciones. DynAlloy es una extensión al lenguaje de especificaciones Alloy, con soporte para la definición de acciones (expresables originalmente con funciones el Alloy), acciones compuestas y aserciones de corrección parcial. El objetivo principal de DynAlloy es incorporar a Alloy soporte para la validación de propiedades de safety de ejecuciones de sistemas. En su versión original, DynAlloy soporta composición de acciones mediante composición secuencial, elección no determinista, iteración no acotada, etc., pero no incluye un operador de composición paralela. La composición paralela es un operador de importancia en el ámbito de los sistemas reactivos y concurrentes, por lo cual analizamos aquí las dificultades asociadas a la extensión de DynAlloy con un operador para composición paralela.II Workshop de Ingeniería de Software y Bases de Datos (WISBD)Red de Universidades con Carreras en Informática (RedUNCI

    Herramientas de model finding para asistir en la construcción de especificaciones formales

    Get PDF
    Este trabajo plantea el desafío técnico de asistir en la construcción de especificaciones en el contexto de la enseñanza de la programación, en materias introductorias, a través de la provisión automática de información de análisis, basada en constraint solving relacional. Se presentan a través de ejemplos concretos, por un lado, la traducción de especificaciones que involucran expresiones cuantificadas al lenguaje Alloy, y por otro la definición de consultas de análisis que, mediante las herramientas Alloy y DynAlloy, brindan feedback automático a los estudiantes. Se discuten además algunas dificultades técnicas que se presentan al construir modelos de especificaciones con dominios numéricos, para su utilización en herramientas de model finding.Workshop: WTIAE – Tecnología Informática Aplicada en EducaciónRed de Universidades con Carreras en Informátic

    Utilización de técnicas de análisis automático para la asistencia en entornos de introducción a la programación

    Get PDF
    Durante el proceso de aprendizaje de conceptos elementales de programación, los estudiantes cometen errores que derivan en programas incorrectos. Las características y tipos de errores cometidos son influenciados por diversos factores, desde el lenguaje de programación y paradigma utilizados, hasta el tipo de ejercicios de programación elegidos y la forma metodológica adoptada para la enseñanza de la programación, entre otros. En este trabajo realizamos una evaluación del tipo de errores cometidos por estudiantes de una asignatura introductoria a la programación, en el primer año de las carreras de Computación de la Universidad Nacional de Río Cuarto. Además de realizar un análisis del tipo de errores más frecuentes, y los conceptos que resultan más difíciles para los estudiantes, estudiamos cómo se podría aprovechar técnicas de análisis automático para desarrollar una herramienta de asistencia a la programación, para entornos introductorios. Analizamos el tipo de herramientas de análisis automático que pueden utilizarse para dar apoyo a los estudiantes, evaluamos su alcance y poder en un conjunto de ejercicios de programación reales, y damos algunos de los lineamientos que guiarán el desarrollo de un entorno de asistencia a la programación, que incorpore estas técnicas.XVI Workshop Tecnología Informática Aplicada en Educación (WTIAE).Red de Universidades con Carreras en Informática (RedUNCI

    SocialSchool: una plataforma web para instituciones educativas

    Get PDF
    En la actualidad la tecnología está presente en muchas de las tareas cotidianas, la actividad escolar de nuestros hijos no es ajena a esta exposición pero hemos identificado algunos puntos donde es posible profundizar el uso de las tecnologías para que la experiencia escolar sea aún más eficiente. Con este propósito hemos creado SocialSchool una aplicación que intenta acercar todos los actores involucrados en una institución educativa tutores, directivos, docentes, preceptores y alumnos. En este paper vamos a introducir las principales funcionalidades de la aplicación, hablaremos de las experiencias aprendidas en su implementación e instanciación en algunos colegios de la zona y concluimos con un análisis sobre lo observado en las implantaciones.XVI Workshop Tecnología Informática Aplicada en Educación (WTIAE).Red de Universidades con Carreras en Informática (RedUNCI

    Proyecto integrador Ciudad de los Niños, universidad y computación

    Get PDF
    La alfabetización digital es fundamental para el desarrollo integral y para no caer en la nueva versión de analfabetismo. “Si tuviera que improvisar un conjunto de necesidades mínimas para considerar que una persona es “letrada”, diría que es imprescindible que sepa otro idioma (además del castellano, inglés o chino, para que no quede todo reducido a lo que nos llega del país del norte), pero también, conocimientos sobre cómo programar”, afirma Adrián Paenza. La familiarización con la tecnología y las ciencias de la computación aporta a reducir la desigualdad socio-económica producto de la sociedad moderna que privilegia el conocimiento por sobre el trabajo basado en la fuerza bruta. En este trabajo presentamos nuestra experiencia en un proyecto destinado a niños en situación de acogimiento temporal que tiende a generar un espacio de desarrollo, motivación y aprendizaje para chicos en situación de riesgo. Para esto se plantea como eje central la enseñanza de la programación, la familiarización con la tecnología y el acceso a las TICs para que puedan adaptarse y adquirir capacidades indispensables en la actualidad. Como fuente de motivación se focaliza en el uso juegos de ingenio, lenguajes visuales de programación y minirobots.Área: Educación en Tecnología.Red de Universidades con Carreras en Informática (RedUNCI

    Analizando el uso de (Dyn)Alloy como herramienta educativa

    Get PDF
    Los significativos avances en tecnicas automaticas de anóli- sis, como model checking, constraint solving y computación evolutiva, adquieren constantemente mayor relevancia en actividades complejas de construccion de software, y son exitosamente utilizadas para generar tests automaticamente, refinar requisitos de software, verificar disenos, y descubrir errores de programas. Sin embargo, el uso de tales tecnicas para asistir en actividades de ensenanza-aprendizaje es muy escaso. En este trabajo, analizamos el uso del lenguaje formal Alloy y su extension Dy- nAlloy, que incorpora acciones y programas, como herramienta educativa, para la asistencia y el soporte de tareas de elaboracion y comprension de especificaciones, y otras actividades en las cuales las especificaciones, entendidas como descripciones declarativas de software, son centrales. Mostraremos como el analisis automatico subyacente a estos lenguajes puede emplearse efectivamente para dar soporte en la depuracion de especificaciones, permite introducir naturalmente conceptos que suelen escapar a cursos introductorios, como el no determinismo, y puede facilitar el uso de abstracciones de datos adecuadas en cursos introductorios.XIII Workshop Tecnología Informática Aplicada en Educación (WTIAE)Red de Universidades con Carreras en Informática (RedUNCI

    Analizando el uso de (Dyn)Alloy como herramienta educativa

    Get PDF
    Los significativos avances en tecnicas automaticas de anóli- sis, como model checking, constraint solving y computación evolutiva, adquieren constantemente mayor relevancia en actividades complejas de construccion de software, y son exitosamente utilizadas para generar tests automaticamente, refinar requisitos de software, verificar disenos, y descubrir errores de programas. Sin embargo, el uso de tales tecnicas para asistir en actividades de ensenanza-aprendizaje es muy escaso. En este trabajo, analizamos el uso del lenguaje formal Alloy y su extension Dy- nAlloy, que incorpora acciones y programas, como herramienta educativa, para la asistencia y el soporte de tareas de elaboracion y comprension de especificaciones, y otras actividades en las cuales las especificaciones, entendidas como descripciones declarativas de software, son centrales. Mostraremos como el analisis automatico subyacente a estos lenguajes puede emplearse efectivamente para dar soporte en la depuracion de especificaciones, permite introducir naturalmente conceptos que suelen escapar a cursos introductorios, como el no determinismo, y puede facilitar el uso de abstracciones de datos adecuadas en cursos introductorios.XIII Workshop Tecnología Informática Aplicada en Educación (WTIAE)Red de Universidades con Carreras en Informática (RedUNCI

    Proyecto integrador Ciudad de los Niños, universidad y computación

    Get PDF
    La alfabetización digital es fundamental para el desarrollo integral y para no caer en la nueva versión de analfabetismo. “Si tuviera que improvisar un conjunto de necesidades mínimas para considerar que una persona es “letrada”, diría que es imprescindible que sepa otro idioma (además del castellano, inglés o chino, para que no quede todo reducido a lo que nos llega del país del norte), pero también, conocimientos sobre cómo programar”, afirma Adrián Paenza. La familiarización con la tecnología y las ciencias de la computación aporta a reducir la desigualdad socio-económica producto de la sociedad moderna que privilegia el conocimiento por sobre el trabajo basado en la fuerza bruta. En este trabajo presentamos nuestra experiencia en un proyecto destinado a niños en situación de acogimiento temporal que tiende a generar un espacio de desarrollo, motivación y aprendizaje para chicos en situación de riesgo. Para esto se plantea como eje central la enseñanza de la programación, la familiarización con la tecnología y el acceso a las TICs para que puedan adaptarse y adquirir capacidades indispensables en la actualidad. Como fuente de motivación se focaliza en el uso juegos de ingenio, lenguajes visuales de programación y minirobots.Área: Educación en Tecnología.Red de Universidades con Carreras en Informática (RedUNCI

    Experiencia de enseñanza de la programación en un contexto de vulnerabilidad social

    Get PDF
    En la actualidad un alfabetismo muy popular es el Alfabetismo digital, que implica el conocimiento y la comprensión de tecnologías digitales. En este trabajo abordamos la enseñanza de la programación, a través de la familiarización con algunas herramientas tecnológicas visuales, y el acceso a las TIC. En particular, reportamos acerca de vivencias y aprendizajes con niños en situación de vulnerabilidad social quienes concurren al Hogar “Ciudad de los Niños”, ubicado en Río Cuarto, Córdoba, Argentina.V Workshop de Innovación en Educación en Informática (WIEI).Red de Universidades con Carreras en Informática (RedUNCI

    Experiencia de enseñanza de la programación en un contexto de vulnerabilidad social

    Get PDF
    En la actualidad un alfabetismo muy popular es el Alfabetismo digital, que implica el conocimiento y la comprensión de tecnologías digitales. En este trabajo abordamos la enseñanza de la programación, a través de la familiarización con algunas herramientas tecnológicas visuales, y el acceso a las TIC. En particular, reportamos acerca de vivencias y aprendizajes con niños en situación de vulnerabilidad social quienes concurren al Hogar “Ciudad de los Niños”, ubicado en Río Cuarto, Córdoba, Argentina.V Workshop de Innovación en Educación en Informática (WIEI).Red de Universidades con Carreras en Informática (RedUNCI
    corecore