21 research outputs found

    Implementación de una calculadora de bolsillo usando LEX y YACC

    Get PDF
    En este trabajo se presenta un ejemplo de la actividad desarrollada en la enseñanza de las asignaturas de compiladores en el Centro Superior de Informática de la Universidad de La Laguna. Se aborda la construcción de una calculadora de bolsillo utilizando las herramientas de ayuda a la construcción de compiladores LEX y YACC. En el laboratorio propuesto se introducen los conceptos de listas recursivas por la derecha y por la izquierda, los conflictos que surgen durante el análisis sintáctico ascendente por desplazamiento y reducción y la asignación de precedencia y asociatividad a operadores

    Laboratorios de Compiladores

    Get PDF
    Aunque existe numeroso material bibliográfico de inmejorable calidad sobre las teorías que sustentan la construcción de compiladores, no hemos encontrado un texto que sirva de apoyo al profesor en el desarrollo de los contenidos de los laboratorios. Este trabajo proporciona una visión global y resumida de los ejercicios de laboratorio que se especifican en el libro “Prácticas de Compiladores en C y Pascal”. En este texto se divide la implementación de un compilador en tareas más reducidas que se plantean como laboratorios prácticos interrelacionados entre sí

    Prácticas de teoría de autómatas y lenguajes formales en la Universidad de La Laguna

    Get PDF
    En este trabajo se presenta una experiencia en la organización de las prácticas de la asignatura Teoría de Autómatas y Lenguajes Formales (TALF) que se imparte en las Ingenierías Técnicas en Informática en el Centro Superior de Informática (CSI) de la Universidad de La Laguna. El trabajo está motivado por el hecho de que si bien es fácil encontrar bibliografía adecuada para esta asignatura, tanto desde el punto de vista de los conceptos que se abordan como del alumnado hacia el que van dirigidos, no conocemos experiencias en las que la atención se centre en un enfoque práctico de estos conceptos

    Computer programming as a tool for developing problem-solving skills

    Get PDF
    El término pensamiento computacional se utiliza para describir cómo piensa un «científico/a de computadoras» cuando se enfrenta a un problema y los beneficios que esta forma de pensar podría tener en todos nosotros. El pensamiento computacional representa el proceso de reconocimiento de aspectos de la Informática en el mundo que nos rodea, y la aplicación de sus herramientas y técnicas para comprender y razonar sobre los sistemas y los problemas a los que nos enfrentamos. El objetivo de este trabajo es analizar en qué medida influye el desarrollo del pensamiento computacional en la posterior mejora de habilidades relacionadas con la resolución de problemas en un ámbito científico, específico, o incluso general o de aplicación práctica en la vida cotidiana. Para ello, se ha trabajado con alumnado del Grado en Matemáticas y del Grado en Ingeniería Informática, titulaciones que, en menor y en mayor medida, incorporan asignaturas que introducen al alumnado en la «programación» (herramienta fundamental para todo «científico/a de computadoras»). La batería de tests EFAI (Evaluación Factorial de las Aptitudes Intelectuales) de nivel 4 se utilizó para medir la inteligencia general, la inteligencia no verbal (INV) y la inteligencia verbal (IV). De los resultados obtenidos se puede deducir que existe una mayor homogeneidad en el desarrollo de la INV para el alumnado que presumiblemente ha recibido una mayor formación ligada a la programación. Aún así, y para poder obtener conclusiones más robustas será necesario extender el estudio a alumnado de otras ramas de conocimiento, comparando además las habilidades del alumnado de nuevo ingreso con la del alumnado que finaliza la titulaciónThe term computational thinking is used to describe how a «computer scientist» thinks when facing a problem and the benefits that this way of thinking could have in all of us. Computational thinking represents the process of recognizing aspects of computing in the world around us, and applying its tools and techniques to understand and think about the systems and problems we face. The objective of this work is to analyze the extent to which the development of computational thinking influences the subsequent improvement of skills or competences related to the resolution of problems in a specific scientific field, or even in general and practical situations of everyday life. To this end, we have worked with students from the Degree in Mathematics and with students from the Degree in Computer Science. It’s important to note that in both cases, these Degrees incorporate courses for introducing students to «computer programming» (a fundamental tool for all «computer scientist»). The EFAI (Factorial Assessment of Intellectual Abilities) test battery - level 4 - was used to measure general intelligence, non verbal intelligence (INV) and verbal intelligence (IV). From the results obtained, it can be deduced that there is a greater homogeneity in the development of the INV for students who presumably have received more training linked to programming. Even so, and in order to obtain more robust conclusions, it will be necessary to extend the study to students from other branches of knowledge, comparing the skills of the younger students with the students who are close to finish the degre

    Aproximación paralela a la técnica Divide y Vencerás

    Get PDF
    En este trabajo se presenta una propuesta de desarrollo del tema dedicado a la técnica Divide y Vencerás para una asignatura de Programación en Paralelo. Tras una breve introducción a la técnica desde el punto de vista secuencial, se abordan, mediante un ejemplo, las distintas posibilidades de paralelización. El nivel de dificultad se incrementa de forma gradual desde una implementación para Memoria Compartida hasta una para Paso de Mensajes. Finalmente se estudia el rendimiento de las propuestas paralelas frente a las secuenciales

    Depression, COVID-19 anxiety, subjective well-being, and academic performance in university students with COVID-19-infected relatives: a network analysis

    Get PDF
    This study aimed to examine the relationship between anxiety, depression, subjective well-being, and academic performance in Peruvian university health science students with COVID-19-infected relatives. Eight hundred two university students aged 17–54 years (Mean 21.83; SD = 5.31); 658 females (82%) and 144 males (18%); who completed the Patient Health Questionnaire-2, Coronavirus Anxiety Scale, Subjective Well-being Scale (SWB), and Self-reporting of Academic Performance participated. A partial unregularized network was estimated using the ggmModSelect function. Expected influence (EI) values were calculated to identify the central nodes and a two-tailed permutation test for the difference between the two groups (COVID-19 infected and uninfected). The results reveal that a depression and well-being node (PHQ1-SWB3) presents the highest relationship. The most central nodes belonged to COVID-19 anxiety, and there are no global differences between the comparison networks; but at the local level, there are connections in the network of COVID-19-infected students that are not in the group that did not present this diagnosis. It is concluded that anxious–depressive symptomatology and its relationship with well-being and evaluation of academic performance should be considered in order to understand the impact that COVID-19 had on health sciences students

    Supporting nested parallelism

    Get PDF
    Many parallel applications do not completely fit into the data parallel model. Although these applications contain data parallelism, task parallelism is needed to represent the natural computation structure or enhance performance. To combine the easiness of programming of the data parallel model with the efficiency of the task parallel model allows to parallel forms to be nested, giving Nested parallelism. In this work, we examine the solutions provided to N ested parallelism in two standard parallel programming platforms, HPF and MPI. Both their expression capacity and their efficiency are compared on a Cray- 3TE, which is distributed memory machine. Finally, an additional speech about the use of the methodology proposed for MPI is done on two different architecturesI Workshop de Procesamiento Distribuido y Paralelo (WPDP)Red de Universidades con Carreras en Informática (RedUNCI

    Integración de las herramientas "Github education" en el aula

    Get PDF
    El sistema de control distribuido de versiones Git se ha convertido en el estándar de facto para manejar proyectos software. Uno de los motivos de la creciente popularidad de Git es el éxito de GitHub, una plataforma Web de desarrollo colaborativo. GitHub ofrece toda la funcionalidad de Git e integra diversas he- rramientas de control de acceso, colaboración, gestión de tareas y control de pro- yectos, todo ello en la nube. Educadores tanto del mundo académico relacionado con la Informática como de fuera de ella utilizan GitHub en sus cursos. En este trabajo se presenta cómo se han utilizado las herramientas Git, GitHub y GitHub Classroom para gestionar la parte práctica de varias asignaturas de los estudios del grado en Ingeniería Informática. Esta contribución se centra en motivar esta experiencia, explicar su implementación y discutir los resultados obtenidos.The distributed version control system Git has become the de facto standard for managing software projects. One of the reasons for the growing popularity of Git is the success of GitHub, a collaborative development Web platform. GitHub offers all the functionality of Git and integrates various tools for access control, collabo- ration, task management and project control, all of them in the cloud. Educators from both the academic world related to IT and from outside, are using GitHub in their courses. This paper presents how the Git, GitHub and GitHub Classroom tools have been used to manage the laboratories of several subjects of the degree studies in Computer Engineering. This contribution focuses on motivating this experience, explaining its implementation and discussing the results obtained

    The collective computing model

    Get PDF
    The parallel computing model used in this paper, the Collective Computing Model (CCM), is a variant of the well-known Bulk Synchronous Parallel (BSP) model. The synchronicity imposed by the BSP model restricts the set of available algorithms and prevents the overlapping of computation and communication. Other models, like the LogP model, allow asynchronous computing and overlapping but depend on the use of specific libraries. The CCM describes a system exploited through a standard software platform providing facilities for group creation, collective operations and remote memory operations. Based in the BSP model, two kinds of supersteps are considered: Division supersteps and Normal supersteps. The structure of divisions produced by the Division Functions and the partnership relation among processors give place to communication patterns among processors that are topologically similar to a hypercube. We have named the resulting structures Dynamic Polytopes To illustrate these concepts, the Fast Fourier Transform Algorithm is used. Computational results prove the accuracy of the model in four different parallel computers: a Parsytec Power PC, a Cray T3E, a Silicon Graphics Origin 2000 and a Digital Alpha Server.Facultad de Informátic
    corecore