• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 28
  • 11
  • Tagged with
  • 39
  • 39
  • 16
  • 14
  • 12
  • 9
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 8
  • 7
  • About
  • The Global ETD Search service is a free service for researchers to find electronic theses and dissertations. This service is provided by the Networked Digital Library of Theses and Dissertations.
    Our metadata is collected from universities around the world. If you manage a university/consortium/country archive and want to be added, details can be found on the NDLTD website.
21

Diseño causal de sistema piramidal para aprendizaje colaborativo de los lenguajes de programación

Rosa de Rivera, Verónica Idalia 21 July 2021 (has links)
Esta tesis doctoral ha provocado un cambio de actitud y mentalidad; porque la forma de realizar investigación hasta el momento había sido basada en resultados, es decir, primero se piensa cual será el resultado que se obtendrá o hacia donde se debe llegar, que es lo que se va a producir, utilizando en este caso el método de abajo hacia arriba (bottom up). Sin embargo, este informe se ha realizado bajo una metodología causal, es decir, interesa conocer primeramente cual será el modelo para luego contestar preguntas ¿qué es? y ¿para qué es?, debido a que así se decide un modelo que servirá de marco a la solución y se concretan los objetivos, ya sin ambigüedad, que se persigue alcanzar. Posteriormente se irán contestando las preguntas de ¿cómo?, ¿cuándo? y ¿quién lo hará? Porque así se establece la estructura de la solución, la tecnología que la soportará, y el contexto. Por esa razón, este trabajo aborda aspectos diferentes a las formas tradicionales de resolver un problema en particular, sobre el cual ya se conocen otras soluciones. El método bottom-up puede utilizarse cuando se conoce de antemano la solución por otros casos parecidos; y el top-down es el método general cuando no se tiene mayor conocimiento previo sobre cuál puede ser la solución. De allí que para esta investigación se ha hecho uso del método top-down. Por lo tanto, el grado de Doctora permitirá, resolver problemas haciendo uso de método científico, procurando evitar incorporar arbitrariedad o reduciendo esta a su mínima expresión y, con ello, garantizando la calidad de la solución. Se persigue producir un avance en el estado del conocimiento, en el caso particular de la educación piramidal en el que se ha trabajado bajo un enfoque colaborativo jerarquizado, para la enseñanza de los lenguajes de programación, a través de una plataforma didáctica virtual, en la cual personas con un nivel de educación superior pueden tutorar a otros de nivel educativo inferior para, de esa manera, poder mejorar el proceso de enseñanza-aprendizaje en la Universidad Tecnológica de El Salvador, aunque cabe mencionar que este proyecto podrá ser aplicado a cualquier institución educativa ya sea formal o informal. El objetivo principal es que mediante la educación piramidal y por medio del uso de una plataforma virtual, se pueda dar apoyo en el aprendizaje de cualquier área del conocimiento, que en el caso particular se abordarán los lenguajes de programación, por ser parte fundamental de las carreras de Informática y del área de competencia docente de la autora.
22

Desarrollo del software de un sistema SCADA para la distribución de agua potable en la quebrada de Manchay

Florencio Inga, Pedro Pablo 20 September 2012 (has links)
En la actualidad los sistemas de distribución de agua potable implementados son monitoreados, controlados y supervisados desde un Centro de Control, para lo cual se emplean los sistemas SCADA. El objetivo del presente trabajo es desarrollar la aplicación en el software del sistema SCADA, para el proyecto de distribución de agua potable en la quebrada de Manchay. La distribución de agua se realiza a través de 23 estaciones de bombeo distribuidas a lo largo de todo el pueblo. El sistema de distribución de agua potable en Manchay consiste de 4 partes fundamentales: telecomunicaciones, instrumentación, sistema eléctrico y el sistema de control y automatización, esta última parte se relaciona directamente con el presente trabajo, el cual incluye el desarrollo de la programación para realizar el monitorio, control y supervisión de las estaciones de bombeo. Como parte de la implementación del sistema, se hizo configuración de instrumentos para que puedan transmitir la información a los controladores para tener lecturas del proceso como presión, flujo y nivel. Se procedió con el desarrollo de aplicaciones para los Paneles de Operador o Interfaces Hombre Maquina (HMI) con el propósito de realizar un control y monitoreo local de los equipos instalados en cada estación. Se realizaron pruebas en el Centro de Control para verificar el enlace de las señales de campo, así como pruebas con los equipos en las estaciones de bombeo que realizan el control automático y remoto (comandos desde el Centro de Control) del proceso de distribución de agua.
23

Intérprete y entorno de desarrollo para el aprendizaje de lenguajes de programación estructurada

Hirsh Martínez, Layla 30 November 2011 (has links)
Este proyecto tiene como objetivo principal el diseño, desarrollo e implementación de un intérprete de un lenguaje de programación que pueda ser usado en los primeros cursos de introducción a la computación. El trabajo muestra cómo se pueden crear intérpretes, lo que en nuestro país tiene escasa tradición, a diferencia de lo que ocurre en los países más desarrollados. Además, presenta un entorno de desarrollo integrado para facilitar la introducción a la programación, ofreciendo un ambiente amigable y un lenguaje de programación totalmente basado en el idioma español. En opinión de la autora esta segunda característica favorecerá a que el alumno entienda mejor el lenguaje y los procesos de computación. En el capítulo 1 del presente documento se presenta la descripción del problema de escoger un lenguaje adecuado para la enseñanza de los primeros cursos de programación, las opciones que tenemos en nuestra actualidad y una posible solución a este problema. En el capítulo 2 se formula una propuesta que resuelve el problema planteado en el capítulo 1 que permite definir el lenguaje, su funcionamiento y el entorno en el que se ha de ejecutar. El capítulo 3 presenta la implementación del intérprete y la del entorno, propuestos anteriormente. En el capítulo 4 se exponen las observaciones, conclusiones, recomendaciones y trabajos futuros, tanto del intérprete como del entorno.
24

Intérprete para un lenguaje de programación orientado a objetos, con mecanismos de optimización y modificación dinámica de código

Gómez Díaz, Renzo Gonzalo, Salamanca Guillén, Juan Jesús 06 September 2012 (has links)
Este trabajo trata sobre la implementación de un intérprete para un lenguaje propio, que incluye algunas características que no son abordadas en cursos básicos de Desarrollo de Compiladores. Estas características son: lenguaje de programación orientado a objetos, modificación dinámica de código y optimización de código intermedio. El objetivo de este proyecto es presentar estas características, proponer una forma de implementación de las mismas y finalmente proceder a implementarlas. De tal manera que este trabajo contribuya al aprendizaje de construcción de intérpretes o compiladores, sirviendo como un caso de estudio para aquellas personas que tengan como objetivo profundizar en el tema, y por consiguiente un posible punto de partida para futuros trabajos. Por otro lado, es necesario validar los resultados obtenidos por el optimizador, así como la eficiencia de la forma implementación escogida, por lo que se incluye también una experimentación numérica que permite comprobar las hipótesis planteadas al inicio. En la primera parte, se define el problema identificado, luego se describe un breve marco teórico con los principales conceptos involucrados en el desarrollo del proyecto, seguidamente se muestra el estado del arte con relación a compiladores e intérpretes y se describe la solución al problema planteado al inicio. En la segunda parte, principalmente, se describen los objetivos del proyecto, los aportes específicos, los resultados esperados y las hipótesis. Como se mencionó anteriormente, uno de los objetivos que se persigue es que la tesis pueda servir como un caso de estudio para las personas interesadas y una posible base para trabajos futuros; por lo tanto, es necesario explicar la implementación con un nivel de detalle adecuado. En ese sentido, se describe las distintas partes de la implementación escogida: se comienza con la descripción de la gramática del lenguaje, después se describen las estructuras utilizadas, algunas operaciones primitivas, el código intermedio generado, las principales acciones semánticas, la interpretación, la administración de memoria, los algoritmos de optimización, el diseño del IDE y el ambiente de desarrollo.
25

Entorno de desarrollo para la ejecución y traducción de pseudocódigo

Jara Loayza, Juan Carlos 23 June 2014 (has links)
El presente proyecto de fin de carrera corresponde a la construcción de un entorno de desarrollo que permita la ejecución y ejecución de pseudocódigo como herramienta de apoyo a las etapas de diseño, ejecución y validación de un algoritmo. Se permitirá la traducción a VBA, Java, Ruby, Python y c++. El documento presenta siete capítulos, en el primer capítulo se describen generalidades del proyecto como la problemática, objetivo general, objetivos específicos, resultados esperados, alcance, justificación, viabilidad y plan de actividades del proyecto. En el segundo capítulo se presenta el marco conceptual donde se describen los conceptos necesarios para entender el problema que se desea solucionar con el presente proyecto. En el tercer capítulo se presenta el estado del arte. En lo referente al estado del arte se realizó una búsqueda entre productos comerciales y no comerciales que intentan solucionar algunos aspectos del problema a resolver. En el cuarto capítulo, se describe cómo se realizó la definición y la validación de la gramática del pseudocódigo mediante el uso de la notación BNF. En el quinto capítulo se presenta el desarrollo del intérprete que permite la ejecución del pseudocódigo y del traductor que permitirá transformar el pseudocódigo a código en VBA, Java, Ruby, Python y C++. En el sexto capítulo se realiza la descripción del entorno de desarrollo que permitirá la integración del intérprete y traductor para que puedan ser utilizados por el usuario final. En el séptimo capítulo se exponen las conclusiones.
26

Estudio del lenguaje de programación Haskell, ventajas y desventajas con respecto a otros lenguajes de programación

Inca Chiroque, Julita 08 April 2013 (has links)
El trabajo de tesis presenta al lenguaje de programación Haskell y realiza un estudio comparativo con respecto a lenguajes de programación que son promovidos con gran impacto en la actualidad en los ambientes: académico, industrial y científico. Los lenguajes de programación que servirán como puntos de referencia de comparación para el presente estudio son: C/C++, Java y GOlang. Los criterios de comparación tomados en cuenta en el estudio son: fácil escritura, fácil lectura, confiabilidad, soporte de genéricos y reflexión. Se elige comparar los lenguajes mencionados con el lenguaje de programación Haskell, porque es un lenguaje que ha significado un reto para los estudiosos en Ciencias de la Computación de las universidades más prestigiosas del mundo, quienes diseñaron un lenguaje de programación que mejora y supera errores de diseño de lenguajes de programación convencionales. En el primer capítulo se referencia estudios realizados acerca de los lenguajes de programación en las últimas décadas, la popularidad e impacto que tienen en el ámbito académico, industrial y científico, los lenguajes de programación C/C++, Java y GOlang. En el segundo capítulo se referencia estudios realizados acerca de la categorización de los lenguajes de programación a lo largo de la historia de los lenguajes de programación. En el tercer capítulo se detalla cada uno de los lenguajes de programación en mención, su origen, evolución, aplicaciones y tecnologías desarrolladas en las últimas décadas. En el cuarto capítulo se describen los criterios de evaluación de un lenguaje de programación, según autores de prestigio en el campo de las ciencias de la computación. En el quinto capítulo se realiza un estudio y desarrollo de programas en los lenguajes de programación elegidos para poder evaluar las ventajas y desventajas, con respecto a los criterios de evaluación elegidos: fácil escritura, fácil lectura, confiabilidad, soporte de genéricos y reflexión. / Tesis
27

Implementación de una herramienta de traducción y verificación de programas diseñados en diagrama de flujo utilizando como paso intermedio pseudocódigo

Palomino Masco, Jairo Abner 13 November 2014 (has links)
Este proyecto de fin de carrera parte de la ausencia de herramientas que sirvan de ayuda para aquellos alumnos que quieran aprender a programar. Si bien existen programas que permiten generar diagramas de flujo y luego exportarlos a un lenguaje de programación, estos no poseen un compilador que permita detectar errores de sintaxis, que pueda poseer la solución. Por ello se plantea implementar un proceso de traducción y verificación de programas diseñados en diagrama de flujo utilizando como paso intermedio pseudocódigo, para que el alumno pueda preocuparse más en la lógica de su solución, que en la sintaxis o estructura del lenguaje de programación, a codificar. Para realizar este proyecto se definió una serie de objetivos específicos. En primer lugar se desarrolló un entorno para dibujar diagramas de flujo, para ello se adaptaron las librerías de Microsoft office que ofrecen las herramientas necesarias para la creación del entorno de trabajo. Luego, se definió la gramática que almacena la sintaxis del pseudocódigo utilizando la notación Backus-Naur Form (BNF). Después se implementó el método de conversión del formato XML de Microsoft office, representación del diagrama de flujo, a pseudocódigo utilizando la sintaxis definida anteriormente y un editor de texto en el cual se muestre el resultado de la conversión al usuario. Finalmente se implementó el intérprete que utiliza la gramática para verificar que el código se encuentre léxicamente, sintácticamente y semánticamente correcto. De esta manera los alumnos podrán obtener a partir de un diagrama, el cual al ser gráfico es de fácil entendimiento, el código de su programa sin necesidad de conocer la sintaxis del mismo y validado.
28

Discovering memory optimization opportunities by analyzing shareable objects

Infante Rica, Alejandro José January 2017 (has links)
Magíster en Ciencias, Mención Computación. Ingeniero Civil en Computación / Los lenguajes modernos de programación orientada a objetos han aliviado de manera impor- tante a los programadores la tarea de administrar memoria. A pesar de la eficiencia de los recolectores de basura y herramientas de análisis de programas en tiempo real, aún existe una porción importante de memoria siendo desaprovechada. El desaprovechamiento de memoria en software posee graves consecuencias, incluyendo frecuentes interrupciones en la ejecución debido a la presión ejercida sobre el recolector de basura y el uso ineficiente de dependencias entre objetos. Hemos descubierto que supervisar los lugares de producción de objetos y la equivalencia de los objetos producidos es clave para identificar ineficiencias causadas por objetos redundantes. Hemos implementado optimizaciones para reducir el consumo de memoria de seis aplicaciones industriales, obteniendo una reducción superior al 40% en el uso de memoria en la mitad de las aplicaciones sin poseer conocimiento previo de las mismas. Nuestros resultados replican parcialmente los resultados obtenidos por Marinov y O Callahan y exploran nuevas formas de identificar objetos redundantes. / Este trabajo ha sido parcialmente financiado por CONICYT-PCHA/Magíster-Nacional/2015-22150809
29

Evaluación de motores de videojuegos: caso Andengine y LibGDX

Cumpa Torres, José Moisés January 2014 (has links)
Publicación a texto completo no autorizada por el autor / Propone una guía que permita a desarrolladores interesados elegir un motor de videojuegos adecuado y en tiempo óptimo. En el desarrollo de videojuegos los cambios a nuevas tecnologías son frecuentes. Actualmente está en auge los juegos móviles y eso implica que existan también varios motores de videojuegos para estas plataformas móviles. Ante la existencia de varios motores de videojuegos tanto open source como propietarios es un reto decidir qué motor se va a utilizar por eso es que en este trabajo se propone una guía que permita resolver esa duda. En esta investigación se incide en la lectura de varios papers que contienen temas de investigación acerca de los motores de videojuegos. Se usan como ejemplo dos motores para plataforma Android y con ellos se presenta un caso práctico que pone en ejecución la propuesta de la guía. / Trabajo de suficiencia profesional
30

Diseño e Implementación de PHANtom, un Lenguaje de Aspectos para Pharo Smalltalk

Galdames Grünberg, Daniel Andrés January 2011 (has links)
La programación orientada a aspectos es un paradigma de programación que intenta solucionar el problema de las funcionalidades transversales, esto es, funcionalidades de la aplicación que están dispersas por muchas áreas del código, y no pueden separarse en forma eficiente usando el paradigma de programación orientada a objetos. Un aspecto representa una funcionalidad transversal de la aplicación. Éste incluye en su definición un pointcut, que representa un conjunto de puntos en la ejecución de la aplicación que van a ser capturados por el aspecto, y un advice, que representa la funcionalidad del aspecto, esto es, el código que va a ser ejecutado en los puntos capturados. En este trabajo se diseñó e implementó un lenguaje de aspectos para el lenguaje de programación Pharo Smalltalk, donde se incluyeron características destacadas de otros lenguajes de aspectos, junto a nuevas funcionalidades que le otorgan un mayor control y flexibilidad al lenguaje desarrollado. El lenguaje desarrollado incluye un sistema de definición de patrones para la definición de los pointcuts, reglas de precedencia globales y a nivel de pointcut. También contiene modificadores de clases similares a las inter-type declarationsde AspectJ, y un sistema de control dinámico en el orden de ejecución de los advice. Para el lenguaje desarrollado se implementó el concepto de membranas computacionales. Éstas son una forma de controlar el alcance que tienen los aspectos en el sistema, permitiendo controlar problemas como la reentrancia en los aspectos, esto es, cuando un aspecto captura un evento desencadenado por sí mismo. Junto a esto, las membranas computacionales son capaces de controlar la visibilidad que los aspectos tienen sobre el sistema donde son instalados. Se creó una suite de test usando el framework para test unitarios de Pharo Smalltalk, para comprobar el correcto funcionamiento del lenguaje desarrollado, además, se comprobó el grado de cobertura de la suite de test usando el software Hapao. Finalmente, se comprobó el funcionamiento del lenguaje de aspectos desarrollado, usándolo para refactorizar algunas partes del software de análisis dinámico de código Spy. Se realizaron algunos benchmark para comprobar el sobrecosto generado por la infraestructura de aspectos desarrollada, donde se pudo apreciar un sobrecosto variable, siendo elevado en algunos casos.

Page generated in 0.1094 seconds