• Refine Query
  • Source
  • Publication year
  • to
  • Language
  • 111
  • 43
  • 21
  • 12
  • 7
  • 2
  • 2
  • 2
  • 2
  • 1
  • 1
  • 1
  • 1
  • 1
  • Tagged with
  • 244
  • 244
  • 79
  • 41
  • 37
  • 30
  • 30
  • 29
  • 25
  • 23
  • 22
  • 21
  • 20
  • 20
  • 19
  • 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.
121

EXTRACT: Extensible Transformation and Compiler Technology

Calnan, III, Paul W. 29 April 2003 (has links)
Code transformation is widely used in programming. Most developers are familiar with using a preprocessor to perform syntactic transformations (symbol substitution and macro expansion). However, it is often necessary to perform more complex transformations using semantic information contained in the source code. In this thesis, we developed EXTRACT; a general-purpose code transformation language. Using EXTRACT, it is possible to specify, in a modular and extensible manner, a variety of transformations on Java code such as insertion, removal, and restructuring. In support of this, we also developed JPath, a path language for identifying portions of Java source code. Combined, these two technologies make it possible to identify source code that is to be transformed and then specify how that code is to be transformed. We evaluate our technology using three case studies: a type name qualifier which transforms Java class names into fully-qualified class names; a contract checker which enforces pre- and post-conditions across behavioral subtypes; and a code obfuscator which mangles the names of a class's methods and fields such that they cannot be understood by a human, without breaking the semantic content of the class.
122

G#, a graphical approach to functional programming

Wall, Karl January 2019 (has links)
The purpose of this bachelor thesis was to present a solution for how a graphical programming language with a functional mindset can be constructed with the help of inspiration from functional programming. An artefact was created by using design science as a research methodology and has in several iterations gone through development and testing to reassure the outcome works as intended. The graphical programming language which has been developed is a language that allows the programmer to code in depth, functions are written as blocks inside blocks and the language is made compact. A code structure in a JSON-format was developed at the same time as G#, allowing it to be presented in a texted data format. The purpose of the JSON-format was to enable execution of G# and the transformation to a text-based programming language. Implications can be made from this study by learning about how a graphical programming language can be built from scratch and what difficulties needs to be tackled to get a result that works as intended. G# was developed to only support a few selected and commonly used functions in programming due to time limitations. The final version of G# in this study can do calculations, handle lists and perform less complex algorithms. Under the development of G#’s graphical functions, the free tool Draw.io was used. Unknowingly from the start, Draw’s limitations made it not perform as expected. Therefore, it is recommended to investigate which available tools are most suited for the construction of the graphical functions before development begins. / Syftet med examensarbetet var att med hjälp av inspiration från funktionell programmering, presentera en lösning på hur ett nytt grafiskt programmeringsspråk med ett funktionellt djup och tänk kan konstrueras. Med hjälp av designbaserad forskning har en artefakt tagits fram som genomgått iterationer av utveckling och testning för att uppnå ett resultat som fungerar som tänkt. Det grafiska språket som tagits fram kallas för G# och är ett språk som tillåter programmeraren att programmera på djupet, funktioner skrivs som block inuti block och språket blir kompakt. Tillhörande G# så konstruerades en struktur i ett JSON-format för hur funktioner i G# kan representeras i ett textat dataformat. Syftet med JSON-formatet var att möjliggöra exekvering av G# och transformering till ett textbaserat programmeringsspråk. Av denna studie kan det dras lärdomar kring hur ett programmeringsspråk kan byggas upp från grunden och vilka svårigheter som måste tacklas för att få ett resultat som fungerar. På grund av begränsning av tid så utvecklades endast vanligt förekommande funktioner inom programmering till G#, språkets slutversion kan göra beräkningar, sköta hantering av listor och utföra enklare algoritmer. Vid utvecklingen av G# användes verktyget Draw.io för att konstruera funktioner. Verktyget var begränsat i funktionalitet och presterade inte enligt förväntan. Därför borde en undersökning som svarar på vilket typ av verktyg som är mest lämpligt för utvecklingen av de grafiska funktionerna göras innan utvecklingen börjar.
123

LinDCQ : uma linguagem para descrição de circuitos quânticos que possibilita o cálculo das operações na GPU utilizando JOCL

GOMES, Mouglas Eugênio Nasário 27 July 2015 (has links)
Submitted by Mario BC (mario@bc.ufrpe.br) on 2017-02-08T13:00:48Z No. of bitstreams: 1 Mouglas Eugenio Nasario Gomes.pdf: 2441879 bytes, checksum: 71064821936a79cf37326006ed006c46 (MD5) / Made available in DSpace on 2017-02-08T13:00:48Z (GMT). No. of bitstreams: 1 Mouglas Eugenio Nasario Gomes.pdf: 2441879 bytes, checksum: 71064821936a79cf37326006ed006c46 (MD5) Previous issue date: 2015-07-27 / Coordenação de Aperfeiçoamento de Pessoal de Nível Superior - CAPES / This paper presents the LinDCQ tool — a description language and programming quantum circuits — which enables the creation of quantum circuits with calculus of operations performed in parallel on the GPU, using JOCL. The tool also allows the generation of graphically circuit. Used as a mechanism to generate grammars of languages and automata as language recognizer and the regular expression engine. In this context a discussion of the phases of compilers and on quantum computation is presented as well as an explanation of the main technologies used for the development of quantum circuits. LinDCQ The tool consists of: grammar in BNF form (Backus-Naur-Form), the compiler verifies that the incidence of errors in the code to be executed, a graphical interface to facilitate the programming features that allow the construction of the circuit graphically and parallel algorithms JOCL to perform operations that require greater computational cost in the GPU. At the end of an experiment is performed in order to assess the usability of the tool, to thereby ensure a higher level of user acceptance, facilitating interaction thereof with the tool developed in this work. / Este trabalho apresenta a ferramenta LinDCQ - uma linguagem de descrição e programação de circuitos quânticos — a qual possibilita a criação de circuitos quânticos com cálculo das operações realizados de forma paralela na GPU, utilizando JOCL. A ferramenta também permite a geração do circuito de forma gráfica. Utiliza gramáticas como mecanismo na geração de linguagens e autômatos como mecanismo reconhecedor de linguagens e de expressões regulares. Nesse contexto é apresentada uma discussão sobre as fases dos compiladores e sobre a computação quântica, assim como uma explanação sobre as principais tecnologias utilizadas para o desenvolvimento de circuitos quânticos. A ferramenta LinDCQ é composta de: gramática no formato BNF (Backus-Naur-Form), compilador que verifica a incidência de erros no código a ser executado, de uma interface gráfica com características facilitadoras à programação que permite a construção do circuito de forma gráfica e de algoritmos paralelos em JOCL para executar as operações que requerem maior custo computacional na GPU. Ao final é realizado um experimento com o intuito de aferir a usabilidade da ferramenta, para, deste modo, garantir um maior um nível de aceitação do usuário, facilitando a interação do mesmo com a ferramenta desenvolvida nesta dissertação.
124

Um ambiente de programação e processamento de aplicações paralelas para grades computacionais. / A programming and prrocessing environment of parallel applications to grid computing.

Augusto Mendes Gomes Júnior 28 November 2011 (has links)
A execução de uma aplicação paralela, utilizando grades computacionais, necessita de um ambiente que permita a sua execução, além de realizar o seu gerenciamento, escalonamento e monitoramento. O ambiente de execução deve prover um modelo de processamento, composto pelos modelos de programação e de execução, no qual o objetivo é a exploração adequada das características das grades computacionais. Este trabalho objetiva a proposta de um modelo de processamento paralelo, baseado em variáveis compartilhadas, para grades computacionais, sendo composto por um modelo de execução apropriado para grades e pelo modelo de programação da linguagem paralela CPAR. O ambiente CPAR-Grid foi desenvolvido para executar aplicações paralelas em grades computacionais, abstraindo do usuário todas as características presentes em uma grade computacional. Os resultados obtidos mostram que este ambiente é uma solução eficiente para a execução de aplicações paralelas. / The execution of parallel applications, using grid computing, requires an environment that enables them to be executed, managed, scheduled and monitored. The execution environment must provide a processing model, consisting of programming and execution models, with the objective appropriately exploiting grid computing characteristics. This paper proposes a parallel processing model, based on shared variables for grid computing, consisting of an execution model that is appropriate for the grid and a CPAR parallel language programming model. The CPAR-Grid environment is designed to execute parallel applications in grid computing, where all the characteristics present in grid computing are transparent to users. The results show that this environment is an efficient solution for the execution of parallel applications.
125

Um ambiente de programação e processamento de aplicações paralelas para grades computacionais. / A programming and prrocessing environment of parallel applications to grid computing.

Gomes Júnior, Augusto Mendes 28 November 2011 (has links)
A execução de uma aplicação paralela, utilizando grades computacionais, necessita de um ambiente que permita a sua execução, além de realizar o seu gerenciamento, escalonamento e monitoramento. O ambiente de execução deve prover um modelo de processamento, composto pelos modelos de programação e de execução, no qual o objetivo é a exploração adequada das características das grades computacionais. Este trabalho objetiva a proposta de um modelo de processamento paralelo, baseado em variáveis compartilhadas, para grades computacionais, sendo composto por um modelo de execução apropriado para grades e pelo modelo de programação da linguagem paralela CPAR. O ambiente CPAR-Grid foi desenvolvido para executar aplicações paralelas em grades computacionais, abstraindo do usuário todas as características presentes em uma grade computacional. Os resultados obtidos mostram que este ambiente é uma solução eficiente para a execução de aplicações paralelas. / The execution of parallel applications, using grid computing, requires an environment that enables them to be executed, managed, scheduled and monitored. The execution environment must provide a processing model, consisting of programming and execution models, with the objective appropriately exploiting grid computing characteristics. This paper proposes a parallel processing model, based on shared variables for grid computing, consisting of an execution model that is appropriate for the grid and a CPAR parallel language programming model. The CPAR-Grid environment is designed to execute parallel applications in grid computing, where all the characteristics present in grid computing are transparent to users. The results show that this environment is an efficient solution for the execution of parallel applications.
126

Perceptions Of Students And Instructors About Using Remote Access Technology In Programming Language Courses: A Case Study

Tursak, Muhammet 01 September 2007 (has links) (PDF)
This study investigated the perceptions of students, the instructor and the laboratory assistant about the use of remote access technology in group projects of programming language courses. Their perceptions are investigated in terms of three aspects: effects of the use of this technology on their motivation, the perceived usefulness and the perceived ease of use of this technology. A central shared project server was installed for group project studies of students. To access to the central project server, Microsoft Remote Desktop Connection, which is a remote access technology, was used. The data were collected from 2nd grade university students by using a computer attitude scale and a questionnaire developed by the researcher. Also, interviews were conducted with the course instructor and the laboratory assistant. Descriptive statistics, frequency distributions and descriptive analysis methods were used to analyze the results. In results, the high percentage of indecisive students, which is between 38% and 48%, was noticeable. It was concluded that by increasing the length of usage of the system this high ratio may be decreased to reasonable levels. On the other hand, high number of the rest of the students reported positive perceptions. They expressed that remote access technology is a useful and also easy to use technology. It is concluded that students, the instructor and the laboratory assistant accepted the use of this new technology in their learning environment. Also, like instructor and the laboratory assistant, they stated that it affected their motivation towards the group projects in a positive way.
127

Criteria and guidelines for the selection and implementation of a first programming language in high schools / L. Goosen

Goosen, Leilani January 2004 (has links)
The choice of a first programming language is critical for fostering problem solving skills and remains a concern in programming instruction that should be taken into account during discussions on the Computer Science curriculum. Criteria that should be considered in selection, therefore, need to be established. Few precedents exist for the implementation of such a language, and guidelines for this process ought to be introduced. This study aims to institute valid criteria and guidelines for the selection and implementation of a first programming language in high schools. Criteria for selection were established and guidelines for implementation introduced through a literature study, after which the validity of these was tested empirically. Care was taken to ensure the relevance of criteria, which were established regarding the development of thinking and programming skills, requirements for the programming language and its software development environment to make it appropriate for learners, new tendencies in programming, issues influencing programming used in practice, affordability, training and resources, and programming for various purposes. Guidelines were introduced for the implementation of a first programming language in high schools regarding appreciating teachers' roles in implementation, issues surrounding pilot testing, considering cost implications at macro-implementation level, introducing a new curriculum, and guidance, support and assessment. The validity of selection criteria and implementation guidelines identified was empirically verified within the South African context, in that all items in a questionnaire based on criteria and guidelines received averages rating these as 'fairly important'. Effect sizes designating practical significance for differences between 0 the reported importance and application/usage of criteria and guidelines and 0 the use of implementation guidelines as regarded by groups consisting of policy makers and teachers respectively indicate a need for more careful consideration of what is important and practical in the world of the teachers who implement a selected language. Key terms: selection criteria, implementation guidelines, first programming language, high schools, Computer Studies, curriculum development, curriculum implementation, curriculum dissemination / Thesis (Ph.D. (Education))--North-West University, Potchefstroom Campus, 2004.
128

Reducing remodularization complexity through modular-objective decoupling

Chern, Rick 11 1900 (has links)
This dissertation defines "modular-objective coupling", and shows that programming language designs which imply reduced modular-objective coupling reduce complexity of remodularizations--behaviour-preserving restructurings for which the only intended goals are to change program source code structure. We explicitly distinguish between two points of view on program structure: modular structure--the structure of a program as a set of static text documents, and objective structure--the structure of a program as a dynamic computational model during execution. We define modular-objective coupling as the degree to which changes in modular structure imply changes to objective structure, for a given programming language. We use the term remodularization to refer to any behaviour-preserving source code restructuring, for which the only intended goal is to change modular structure. We argue that programming languages with strong modular-objective coupling introduce accidental complexity into remodularizations, by requiring complex objective structure changes to achieve intended modular structure changes. Our claim is that a programming language design which implies reduced modular-objective coupling reduces remodularization complexity in the language. To validate this claim, we first present SubjectJ, a subject-oriented programming system that extends Java. The design of Java implies strong modular-objective coupling, while SubjectJ is designed for reduced modular-objective coupling. We then perform a series of remodularization case studies comparing Java and SubjectJ. Our results suggest that remodularizations are less complex in SubjectJ.
129

Criteria and guidelines for the selection and implementation of a first programming language in high schools / L. Goosen

Goosen, Leilani January 2004 (has links)
The choice of a first programming language is critical for fostering problem solving skills and remains a concern in programming instruction that should be taken into account during discussions on the Computer Science curriculum. Criteria that should be considered in selection, therefore, need to be established. Few precedents exist for the implementation of such a language, and guidelines for this process ought to be introduced. This study aims to institute valid criteria and guidelines for the selection and implementation of a first programming language in high schools. Criteria for selection were established and guidelines for implementation introduced through a literature study, after which the validity of these was tested empirically. Care was taken to ensure the relevance of criteria, which were established regarding the development of thinking and programming skills, requirements for the programming language and its software development environment to make it appropriate for learners, new tendencies in programming, issues influencing programming used in practice, affordability, training and resources, and programming for various purposes. Guidelines were introduced for the implementation of a first programming language in high schools regarding appreciating teachers' roles in implementation, issues surrounding pilot testing, considering cost implications at macro-implementation level, introducing a new curriculum, and guidance, support and assessment. The validity of selection criteria and implementation guidelines identified was empirically verified within the South African context, in that all items in a questionnaire based on criteria and guidelines received averages rating these as 'fairly important'. Effect sizes designating practical significance for differences between 0 the reported importance and application/usage of criteria and guidelines and 0 the use of implementation guidelines as regarded by groups consisting of policy makers and teachers respectively indicate a need for more careful consideration of what is important and practical in the world of the teachers who implement a selected language. Key terms: selection criteria, implementation guidelines, first programming language, high schools, Computer Studies, curriculum development, curriculum implementation, curriculum dissemination / Thesis (Ph.D. (Education))--North-West University, Potchefstroom Campus, 2004.
130

Reducing remodularization complexity through modular-objective decoupling

Chern, Rick 11 1900 (has links)
This dissertation defines "modular-objective coupling", and shows that programming language designs which imply reduced modular-objective coupling reduce complexity of remodularizations--behaviour-preserving restructurings for which the only intended goals are to change program source code structure. We explicitly distinguish between two points of view on program structure: modular structure--the structure of a program as a set of static text documents, and objective structure--the structure of a program as a dynamic computational model during execution. We define modular-objective coupling as the degree to which changes in modular structure imply changes to objective structure, for a given programming language. We use the term remodularization to refer to any behaviour-preserving source code restructuring, for which the only intended goal is to change modular structure. We argue that programming languages with strong modular-objective coupling introduce accidental complexity into remodularizations, by requiring complex objective structure changes to achieve intended modular structure changes. Our claim is that a programming language design which implies reduced modular-objective coupling reduces remodularization complexity in the language. To validate this claim, we first present SubjectJ, a subject-oriented programming system that extends Java. The design of Java implies strong modular-objective coupling, while SubjectJ is designed for reduced modular-objective coupling. We then perform a series of remodularization case studies comparing Java and SubjectJ. Our results suggest that remodularizations are less complex in SubjectJ.

Page generated in 0.0905 seconds