11 resultados para learning to program
em Universidad Politécnica de Madrid
Resumo:
Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specialization can still be performed in such cases by means of abstract interpretation, specialization then being with respect to abstract valúes (substitutions), rather than concrete ones. We study the múltiple specialization of logic programs based on abstract interpretation. This involves in principie, and based on information from global analysis, generating several versions of a program predicate for different uses of such predicate, optimizing these versions, and, finally, producing a new, "multiply specialized" program. While múltiple specialization has received theoretical attention, little previous evidence exists on its practicality. In this paper we report on the incorporation of múltiple specialization in a parallelizing compiler and quantify its effects. A novel approach to the design and implementation of the specialization system is proposed. The resulting implementation techniques result in identical specializations to those of the best previously proposed techniques but require little or no modification of some existing abstract interpreters. Our results show that, using the proposed techniques, the resulting "abstract múltiple specialization" is indeed a relevant technique in practice. In particular, in the parallelizing compiler application, a good number of run-time tests are eliminated and invariants extracted automatically from loops, resulting generally in lower overheads and in several cases in increased speedups.
Resumo:
Program specialization optimizes programs for known valúes of the input. It is often the case that the set of possible input valúes is unknown, or this set is infinite. However, a form of specialization can still be performed in such cases by means of abstract interpretation, specialization then being with respect to abstract valúes (substitutions), rather than concrete ones. This paper reports on the application of abstract múltiple specialization to automatic program parallelization in the &-Prolog compiler. Abstract executability, the main concept underlying abstract specialization, is formalized, the design of the specialization system presented, and a non-trivial example of specialization in automatic parallelization is given.
Resumo:
From the educational point of view, the most widespread method in developing countries is on-site education. Technical and economic resources cannot support conventional distance learning infrastructures and it is even worse for courses in universities. They usually suffer a lack of qualified faculty staff, especially in technical degrees. The literature suggest that e-learning is a suitable solution for this problem, but its methods are developed attending to educational necessities of the First World and cannot be applied directly to other contexts. The proposed methodology is a variant of traditional e-learning adapted to the needs of developing countries. E-learning for Cooperation and Development (c&d-learning) is oriented to be used for educational institutions without adequate technical or human resources. In this paper we describe the c&d-learning implementation architecture based on three main phases: hardware, communication and software; e.g. computer and technical equipping, internet accessing and e-learning platform adaptation. Proper adaptation of educational contents to c&d-learning is discussed and a real case of application in which the authors are involved is described: the Ngozi University at Burundi.
Resumo:
Twelve years ago a group of teachers began to work in educational innovation. In 2002 we received an award for educational innovation, undergoing several stages. Recently, we have decided to focus on being teachers of educational innovation. We create a web scheduled in Joomla offering various services, among which we emphasize teaching courses of educational innovation. The “Instituto de Ciencias de la Educacion” in “Universidad Politécnica de Madrid” has recently incorporated two of these courses, which has been highly praised. These courses will be reissued in new calls, and we are going to offer them to more Universities. We are in contact with several institutions, radio programs, the UNESCO Chair of Mining and Industrial Heritage, and we are working with them in the creation of heritage courses using methods that we have developed.
Resumo:
The concept hybrid city responds to a series of real demands of liveability in cities in an information society as it integrates the physical and the virtual in an "augmented" reality by the everyday use of ICT and virtual social network.
Resumo:
Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, recursion elimination and granularity analysis. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on finding program procedures which are called before those in which knowledge regarding term sizes is needed and which traverse the terms whose size is to be determined, and transforming such procedures so that they compute term sizes "on the fly". We present a systematic way of determining whether a given program can be transformed in order to compute a given term size at a given program point without additional term traversal. Also, if several such transformations are possible our approach allows finding minimal transformations under certain criteria. We also discuss the advantages and present some applications of our technique.
Resumo:
Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, granularity analysis and selection among different algorithms or control rules whose performance may be dependent on such size. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on finding program procedures which are called before those in which knowledge regarding term sizes is needed and which traverse the terms whose size is to be determined, and transforming such procedures so that they compute term sizes "on the fly". We present a systematic way of determining whether a given program can be transformed in order to compute a given term size at a given program point without additional term traversal. Also, if several such transformations are possible our approach allows finding minimal transformations under certain criteria. We also discuss the advantages and applications of our technique and present some performance results.
Resumo:
Knowing the size of the terms to which program variables are bound at run-time in logic programs is required in a class of applications related to program optimization such as, for example, recursion elimination and granularity analysis. Such size is difficult to even approximate at compile time and is thus generally computed at run-time by using (possibly predefined) predicates which traverse the terms involved. We propose a technique based on program transformation which has the potential of performing this computation much more efficiently. The technique is based on finding program procedures which are called before those in which knowledge regarding term sizes is needed and which traverse the terms whose size is to be determined, and transforming such procedures so that they compute term sizes "on the fly". We present a systematic way of determining whether a given program can be transformed in order to compute a given term size at a given program point without additional term traversal. Also, if several such transformations are possible our approach allows finding minimal transformations under certain criteria. We also discuss the advantages and present some applications of our technique.
Resumo:
The aim of this study is to evaluate the effects obtained after applying two active learning methodologies (cooperative learning and project based learning) to the achievement of the competence problem solving. This study was carried out at the Technical University of Madrid, where these methodologies were applied to two Operating Systems courses. The first hypothesis tested was whether the implementation of active learning methodologies favours the achievement of ?problem solving?. The second hypothesis was focused on testing if students with higher rates in problem solving competence obtain better results in their academic performance. The results indicated that active learning methodologies do not produce any significant change in the generic competence ?problem solving? during the period analysed. Concerning this, we consider that students should work with these methodologies for a longer period, besides having a specific training. Nevertheless, a close correlation between problem solving self appraisal and academic performance has been detected.
Resumo:
El objetivo de este proyecto es desarrollar un conjunto de herramientas de auto aprendizaje y autoevaluación del laboratorio de la asignatura "Procesado Digital de la Señal", perteneciente al plan de grado de la Escuela Técnica Superior de Ingeniería y Sistemas de Telecomunicación de la Universidad Politécnica de Madrid. Con ello se pretende de mejorar el rendimiento académico de los alumnos en dicha asignatura y en la materia "Señales y Sistemas" en general. Para la realización de las prácticas se emplea Matlab, de modo que es necesario integrar esta herramienta en el laboratorio con MOODLE, plataforma de e-learning utilizada para la gestión de las asignaturas a nivel docente, para proporcionar material de estudio y programar actividades de aprendizaje y evaluación. Será fundamental el análisis de la integración de Matlab con MOODLE, de modo que en función de los resultados de los alumnos, se les propongan repeticiones de apartados erróneos, revisiones de resultados y otros aspectos, como autoaprendizaje y autoevaluación que permitan la obtención de las competencias y alcanzar los resultados de aprendizaje, y a los profesores que imparten la asignatura, como herramienta para detectar las deficiencias más significativas en la programación y en las metodologías empleadas en la asignatura para corregir las carencias de los alumnos. ABSTRACT: The aim of this project will be the development of self-learning and self- assessment lab tools for the course "Procesado Digital de la Señal" in order to improve student’s performance in that subject and in the matter "Señales y Sistemas " for grades taught at the Escuela Universitaria de Ingeniería Técnica de Telecomunicación of the Universidad Politécnica de Madrid today. Matlab is used to perform laboratory practices of "Procesado Digital de la Señal “. Matlab is a numerical calculation program. A very powerful tool with a great mathematical processing performance level, so it is necessary to integrate this tool in the laboratory with MOODLE, the current e-learning platform used at the Universidad Politécnica de Madrid for the management of teaching subjects to provide material and to program learning and assessment activities for students. It is therefore essential the analysis of the Matlab integration with Moodle. Thus, depending on the results and grades that students get along the way in the various activities evaluators should conduct, they propose, for example, repetitions of erroneous exercises, reviews of some results and other aspects such as self-learning and self-assessment. This would allow students to obtain the skills and learning to achieve the results set as a target. For teachers who teach the subject will also be a preview of the notes as these tools will be used to identify the most significant shortcomings both in programming and in the methodologies used in "Procesado Digital de la Señal " to act accordingly and correcting shortcomings of the enrolled students.
Resumo:
The deployment of the Ambient Intelligence (AmI) paradigm requires designing and integrating user-centered smart environments to assist people in their daily life activities. This research paper details an integration and validation of multiple heterogeneous sensors with hybrid reasoners that support decision making in order to monitor personal and environmental data at a smart home in a private way. The results innovate on knowledge-based platforms, distributed sensors, connected objects, accessibility and authentication methods to promote independent living for elderly people. TALISMAN+, the AmI framework deployed, integrates four subsystems in the smart home: (i) a mobile biomedical telemonitoring platform to provide elderly patients with continuous disease management; (ii) an integration middleware that allows context capture from heterogeneous sensors to program environment¿s reaction; (iii) a vision system for intelligent monitoring of daily activities in the home; and (iv) an ontologies-based integrated reasoning platform to trigger local actions and manage private information in the smart home. The framework was integrated in two real running environments, the UPM Accessible Digital Home and MetalTIC house, and successfully validated by five experts in home care, elderly people and personal autonomy.