Dissertations / Theses on the topic 'Computer programming'

To see the other types of publications on this topic, follow the link: Computer programming.

Create a spot-on reference in APA, MLA, Chicago, Harvard, and other styles

Select a source type:

Consult the top 50 dissertations / theses for your research on the topic 'Computer programming.'

Next to every source in the list of references, there is an 'Add to bibliography' button. Press on it, and we will generate automatically the bibliographic reference to the chosen work in the citation style you need: APA, MLA, Harvard, Chicago, Vancouver, etc.

You can also download the full text of the academic publication as pdf and read online its abstract whenever available in the metadata.

Browse dissertations / theses on a wide variety of disciplines and organise your bibliography correctly.

1

Butera, William J. (William Joseph). "Programming a paintable computer." Thesis, Massachusetts Institute of Technology, 2002. http://hdl.handle.net/1721.1/61123.

Full text
Abstract:
Thesis (Ph. D.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 2002.
Includes bibliographical references (p. 163-169).
A paintable computer is defined as an agglomerate of numerous, finely dispersed, ultra-miniaturized computing particles; each positioned randomly, running asynchronously and communicating locally. Individual particles are tightly resource bound, and processing is necessarily distributed. Yet computing elements are vanishingly cheap and are regarded as freely expendable. In this regime, a limiting problem is the distribution of processing over a particle ensemble whose topology can vary unexpectedly. The principles of material self-assembly are employed to guide the positioning of "process fragments" - autonomous, mobile pieces of a larger process. These fragments spatially position themselves and reaggregate into a running process. We present the results of simulations to show that "process self-assembly" is viable, robust and supports a variety of useful applications on a paintable computer. We describe a hardware reference platform as an initial guide to the application domain. We describe a programming model which normatively defines the term process fragment and which provides environmental support for the fragment's mobility, scheduling and data exchange. The programming model is embodied in a simulator that supports development, test and visualization on a 2D particle ensemble. Experiments on simple combinations of fragments demonstrate robustness and explore the limits of scale invariance. Process fragments are shown interacting to approximate conservative fields, and using these fields to implement scaffolded and thermodynamic self-assembly.
(cont.) Four applications demonstrate practical relevance, delineate the application domain and collectively illustrate the paintable's capacity for storage, communication and signal processing. These four applications are Audio Streaming, Holistic Data Storage, Surface Bus and Image Segmentation.
by William Joseph Butera.
Ph.D.
APA, Harvard, Vancouver, ISO, and other styles
2

Kirby, Graham N. C. "Reflection and hyper-programming in persistent programming systems." Thesis, University of St Andrews, 1992. http://hdl.handle.net/10023/1673.

Full text
Abstract:
In an orthogonally persistent programming system, data is treated in a manner independent of its persistence. This gives simpler semantics, allows the programmer to ignore details of long-term data storage and enables type checking protection mechanisms to operate over the entire lifetime of the data. The ultimate goal of persistent programming language research is to reduce the costs of producing software. The work presented in this thesis seeks to improve programmer productivity in the following ways: • by reducing the amount of code that has to be written to construct an application; • by increasing the reliability of the code written; and • by improving the programmer’s understanding of the persistent environment in which applications are constructed. Two programming techniques that may be used to pursue these goals in a persistent environment are type-safe linguistic reflection and hyper-programming. The first provides a mechanism by which the programmer can write generators that, when executed, produce new program representations. This allows the specification of programs that are highly generic yet depend in non-trivial ways on the types of the data on which they operate. Genericity promotes software reuse which in turn reduces the amount of new code that has to be written. Hyper-programming allows a source program to contain links to data items in the persistent store. This improves program reliability by allowing certain program checking to be performed earlier than is otherwise possible. It also reduces the amount of code written by permitting direct links to data in the place of textual descriptions. Both techniques contribute to the understanding of the persistent environment through supporting the implementation of store browsing tools and allowing source representations to be associated with all executable programs in the persistent store. This thesis describes in detail the structure of type-safe linguistic reflection and hyper-programming, their benefits in the persistent context, and a suite of programming tools that support reflective programming and hyper-programming. These tools may be used in conjunction to allow reflection over hyper-program representations. The implementation of the tools is described.
APA, Harvard, Vancouver, ISO, and other styles
3

Meehan, Gary. "Aspects of functional programming." Thesis, University of Warwick, 1999. http://wrap.warwick.ac.uk/58566/.

Full text
Abstract:
This thesis explores the application of functional programming in new areas and its implementation using new technologies. We show how functional languages can be used to implement solutions to problems in fuzzy logic using a number of languages: Haskell, Ginger and Aladin. A compiler for the weakly-typed, lazy language Ginger is developed using Java byte-code as its target code. This is used as the inspiration for an implementation of Aladin, a simple functional language which has two novel features: its primitives are designed to be written in any language, and evaluation is controlled by declaring the strictness of all functions. Efficient denotational and operational semantics are given for this machine and an implementation is devel- oped using these semantics. We then show that by using the advantages of Aladin (simplicity and strictness control) we can employ partial evaluation to achieve con- siderable speed-ups in the running times of Aladin programs.
APA, Harvard, Vancouver, ISO, and other styles
4

Perera, Roland. "Interactive functional programming." Thesis, University of Birmingham, 2013. http://etheses.bham.ac.uk//id/eprint/4209/.

Full text
Abstract:
We propose a new kind of execution environment where applications can be debugged and re-programmed while they are being used. We call our overall concept interactive programming. We develop some of the key components of interactive programming in the setting of a pure, call-by-value functional language. We illustrate our ideas via a proof-of-concept implementation called lambdaCalc, but leave several important components of the overall vision, including efficient incremental update and scaling to large programs, for future work. Our specific achievements are as follows. First, we show how to reify the execution of a program into a live document which can be interactively decomposed into both sequential steps and parallel slices. We give a novel characterisation of forward and backward dynamic slicing and show that for a fixed computation the two problems describe a Galois connection. Second, we introduce a novel execution indexing scheme which derives execution differences from program differences. Our scheme supports the wholesale reorganisation of a computation via operations such as moves and splices. The programmer is able to see the consequences of edits on the intensional structure of the execution. Where possible, node identity is preserved, allowing an edit to be made whilst an execution is being explored and the changes to be reflected in the user's current view of the execution.
APA, Harvard, Vancouver, ISO, and other styles
5

Fidjeland, Andreas Kirkeby. "Custom computer architectures for logic programming." Thesis, Imperial College London, 2007. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.439777.

Full text
APA, Harvard, Vancouver, ISO, and other styles
6

Roe, Paul. "Parallel programming using functional languages." Thesis, Connect to e-thesis, 1991. http://theses.gla.ac.uk/1052.

Full text
APA, Harvard, Vancouver, ISO, and other styles
7

Cardone, Richard Joseph. "Language and compiler support for mixin programming." Access restricted to users with UT Austin EID Full text (PDF) from UMI/Dissertation Abstracts International, 2002. http://wwwlib.umi.com/cr/utexas/fullcit?p3077428.

Full text
APA, Harvard, Vancouver, ISO, and other styles
8

Qahmash, Ayman. "Towards a model of giftedness in programming : an investigation of programming characteristics of gifted students at University of Warwick." Thesis, University of Warwick, 2018. http://wrap.warwick.ac.uk/114146/.

Full text
Abstract:
This study investigates characteristics related to learning programming for gifted first year computer science students. These characteristics include mental representations, knowledge representations, coding strategies, and attitudes and personality traits. This study was motivated by developing a theoretical framework to define giftedness in programming. In doing so, it aims to close the gap between gifted education and computer science education, allowing gifted programmers to be supported. Previous studies indicated a lack of theoretical foundation of gifted education in computer science, especially for identifying gifted programmers, which may have resulted in identification process concerns and/or inappropriate support. The study starts by investigating the relationship between mathematics and programming. We collected 3060 records of raw data of students' grades from 1996 to 2015. Descriptive statistics and the Pearson product-moment correlation test were used for the analysis. The results indicate a statistically significant positive correlation between mathematics and programming in general and between specific mathematics and programming modules. The study evolves to investigate other programming-related characteristics using case study methodology and collecting quantitative and qualitative data. A sample of n=9 cases of gifted students was selected and was interviewed. In addition, we collected the students' grades, code-writing problems and project (Witter) source codes and analysed these data using specific analysis procedures according to each method. The results indicate that gifted student programmers might possess a single or multiple characteristics that have large overlaps. We introduced a model to define giftedness in programming that consists of three profiles: mathematical ability, creativity and personal traits, and each profile consists of sub-characteristics.
APA, Harvard, Vancouver, ISO, and other styles
9

King, David Jonathan. "Functional programming and graph algorithms." Thesis, University of Glasgow, 1996. http://theses.gla.ac.uk/1629/.

Full text
Abstract:
This thesis is an investigation of graph algorithms in the non-strict purely functional language Haskell. Emphasis is placed on the importance of achieving an asymptotic complexity as good as with conventional languages. This is achieved by using the monadic model for including actions on the state. Work on the monadic model was carried out at Glasgow University by Wadler, Peyton Jones, and Launchbury in the early nineties and has opened up many diverse application areas. One area is the ability to express data structures that require sharing. Although graphs are not presented in this style, data structures that graph algorithms use are expressed in this style. Several examples of stateful algorithms are given including union/find for disjoint sets, and the linear time sort binsort. The graph algorithms presented are not new, but are traditional algorithms recast in a functional setting. Examples include strongly connected components, biconnected components, Kruskal's minimum cost spanning tree, and Dijkstra's shortest paths. The presentation is lucid giving more insight than usual. The functional setting allows for complete calculational style correctness proofs - which is demonstrated with many examples. The benefits of using a functional language for expressing graph algorithms are quantified by looking at the issues of execution times, asymptotic complexity, correctness, and clarity, in comparison with traditional approaches. The intention is to be as objective as possible, pointing out both the weaknesses and the strengths of using a functional language.
APA, Harvard, Vancouver, ISO, and other styles
10

Alam, Abu S. "A programming system for end-user functional programming." Thesis, University of Gloucestershire, 2015. http://eprints.glos.ac.uk/2738/.

Full text
Abstract:
This research involves the construction of a programming system, HASKEU, to support end-user programming in a purely functional programming language. An end-user programmer is someone who may program a computer to get their job done, but has no interest in becoming a computer programmer. A purely functional programming language is one that does not require the expression of statement sequencing or variable updating. The end-user is offered two views of their functional program. The primary view is a visual one, in which the program is presented as a collection of boxes (representing processes) and lines (representing data flow). The secondary view is a textual one, in which the program is presented as a collection of written function definitions. It is expected that the end-user programmer will begin with the visual view, perhaps later moving on to the textual view. The task of the programming system is to ensure that the visual and textual views are kept consistent as the program is constructed. The foundation of the programming system is a implementation of the Model-View-Controller (MVC) design pattern as a reactive program using the elegant Functional Reactive Programming (FRP) framework. Human-Computer Interaction (HCI) principles and methods are considered in all design decisions. A usabilty study was made to �find out the effectiveness of the new system.
APA, Harvard, Vancouver, ISO, and other styles
11

Dailey, John Charles. "Programming for learning : a discourse analysis of peer communication while programming a computer /." free to MU campus, to others for purchase, 1998. http://wwwlib.umi.com/cr/mo/fullcit?p9924878.

Full text
APA, Harvard, Vancouver, ISO, and other styles
12

Moore, Robert Keith. "Computer aided programming of a CNC lathe." Thesis, University of British Columbia, 1985. http://hdl.handle.net/2429/25123.

Full text
Abstract:
A software package and associated hardware have been developed which gives users of the ORAC CNC Training Lathe an easier and faster method of manufacturing on the lathe. The package, entitled ORACAP, uses the computing power of a mini-mainframe computer, a VAX 11/750, to assist in part design, program generation, program optimization, and program proving for the ORAC Lathe. The package is designed for users unfamiliar with computers such as students in an educational institute or workers in a production facility and uses command procedures to simplify the preparation and execution of the modules of the package. In addition to providing users with a valuable tool for manufacturing, ORACAP also gives users insight into the Computer Aided Design and Computer Aided Manufacturing methods used in industry, that is, it demonstrates the methods which allow production of a part from a very concise description of its geometry. Finally, ORACAP demonstrates the production advantages of a CAD/CAM system over conventional manufacturing methods for small to medium size batch production.
Applied Science, Faculty of
Mechanical Engineering, Department of
Graduate
APA, Harvard, Vancouver, ISO, and other styles
13

Goold, Annegret, and mikewood@deakin edu au. "Factors affecting success in undergraduate computer programming." Deakin University. School of Management Information Systems, 1999. http://tux.lib.deakin.edu.au./adt-VDU/public/adt-VDU20051111.120545.

Full text
Abstract:
The aim of the research is to investigate factors that may explain success in elementary computer programming at the tertiary level. The first phase of the research included the identification of possible explanatory factors through a literature review, a survey of students studying introductory computing, a focus-group session with teachers of computer programming and interviews with programming students. The second phase of the research that was called the main study, involved testing the identified factors. Two different groups of programming students - one group majoring in business computing and another majoring in computer science - completed a survey questionnaire. The findings of the research are as follows. Gender is of little significance for business students but there is an adverse gender penalty for females in computer science. Secondary school assessment is inversely related to outcomes in business computing but directly influences outcomes in the first programming unit in the computer science course. As in prior research, previous knowledge and experience were demonstrated to matter, A range of other variables was found to be of little importance. The research suggests that different problem-solving techniques might be relevant in business compared with those of use in computer science.
APA, Harvard, Vancouver, ISO, and other styles
14

Perez, Manuel A. "A language for interactive computer graphics programming." Virtual Press, 1987. http://liblink.bsu.edu/uhtbin/catkey/484784.

Full text
Abstract:
The writer defines graphics-oriented data types and operators as the basis for a graphics-oriented programming language. Most of these data types are not available in today's languages. They are usually defined as structures or records composed of some other basic types. These include points, rectangles, transformations, etc. Some operators, such as vector addition, are defined to work with them.The design and implementation of an interpreter to test some of these graphics data types and operators are discussed.The writer also examines some of the tools needed in a graphics programming environment.
APA, Harvard, Vancouver, ISO, and other styles
15

Fitzsimons, Annette. "Conflicting discourses : occupational segregation in computer programming." Thesis, Open University, 1999. http://oro.open.ac.uk/57949/.

Full text
Abstract:
This thesis explores issues round gender and job segregation which emerged during a qualitative study of the different work experiences and attitudes of over fifty female and male computer programmers, in a number of computer software companies and in two internationally renowned manufacturing organizations. The aim of this thesis is to demonstrate the emergence of a sexual division of labour in this occupation and thus illustrate the process of segregation. It explores a qualitative approach to the study of vertical segregation in the computing industry amongst computer programmers. It uses Foucault's concept of discourse to suggest that a number of discourses are productive of gender segregation at work.
APA, Harvard, Vancouver, ISO, and other styles
16

Glover, Richard Ian. "A programming environment for computer aided design." Thesis, Imperial College London, 1988. http://hdl.handle.net/10044/1/47077.

Full text
APA, Harvard, Vancouver, ISO, and other styles
17

Fulkerson, Lynn. "Synthetic stereograms : computer programming for autostereoscopic displays." Thesis, Massachusetts Institute of Technology, 1986. http://hdl.handle.net/1721.1/73754.

Full text
Abstract:
Thesis (M.S.V.S.)--Massachusetts Institute of Technology, Dept. of Architecture, 1986.
MICROFICHE COPY AVAILABLE IN ARCHIVES AND ROTCH
Bibliography: leaves 57-58.
by Lynn Fulkerson.
M.S.V.S.
APA, Harvard, Vancouver, ISO, and other styles
18

Chung, Wai Hing. "Teaching computer control applications : a programming approach." Thesis, University of Edinburgh, 1986. http://hdl.handle.net/1842/19628.

Full text
APA, Harvard, Vancouver, ISO, and other styles
19

Li, Lin. "Automated self-assembly programming paradigm." Thesis, University of Nottingham, 2008. http://eprints.nottingham.ac.uk/10468/.

Full text
Abstract:
Self-assembly is a ubiquitous process in nature in which a disordered set of components autonomously assemble into a complex and more ordered structure. Components interact with each other without the presence of central control or external intervention. Self-assembly is a rapidly growing research topic and has been studied in various domains including nano-science and technology, robotics, micro-electro-mechanical systems, etc. Software self-assembly, on the other hand, has been lacking in research efforts. In this research, I introduced Automated Self-Assembly Programming Paradigm (ASAP²), a software self-assembly system whereby a set of human made components are collected in a software repository and later integrated through self-assembly into a specific software architecture. The goal of this research is to push the understanding of software self-assembly and investigate if it can complement current automatic programming approaches such as Genetic Programming. The research begins by studying the behaviour of unguided software self-assembly, a process loosely inspired by ideal gases. The effect of the externally defined environmental parameters are then examined against the diversity of the assembled programs and the time needed for the system to reach its equilibrium. These analysis on software self-assembly then leads to a further investigation by using a particle swarm optimization based embodiment for ASAP². In addition, a family of network structures is studied to examine how various network properties affect the course and result of software self-assembly. The thesis ends by examining software self-assembly far from equilibrium, embedded in assorted network structures. The main contributions of this thesis are: (1) a literature review on various approaches to the design of self-assembly systems, as well as some popular automatic programming approaches such as Genetic Programming; (2) a software self-assembly model in which software components move and interact with each other and eventually autonomously assemble into programs. This self-assembly process is an entirely new approach to automatic programming; (3) a detailed investigation on how the process and results of software self-assembly can be affected. This is tackled by deploying a variety of embodiments as well as a range of externally defined environmental variables. To the best of my knowledge, this is the first study on software self-assembly.
APA, Harvard, Vancouver, ISO, and other styles
20

Grattage, Jonathan James. "A functional quantum programming language." Thesis, University of Nottingham, 2006. http://eprints.nottingham.ac.uk/10250/.

Full text
Abstract:
This thesis introduces the language QML, a functional language for quantum computations on finite types. QML exhibits quantum data and control structures, and integrates reversible and irreversible quantum computations. The design of QML is guided by the categorical semantics: QML programs are interpreted by morphisms in the category FQC of finite quantum computations, which provides a constructive operational semantics of irreversible quantum computations, realisable as quantum circuits. The quantum circuit model is also given a formal categorical definition via the category FQC. QML integrates reversible and irreversible quantum computations in one language, using first order strict linear logic to make weakenings, which may lead to the collapse of the quantum wavefunction, explicit. Strict programs are free from measurement, and hence preserve superpositions and entanglement. A denotational semantics of QML programs is presented, which maps QML terms into superoperators, via the operational semantics, made precise by the category Q. Extensional equality for QML programs is also presented, via a mapping from FQC morphisms into the category Q.
APA, Harvard, Vancouver, ISO, and other styles
21

Wu, James 1975. "A comparison of programming languages for real-time, safety-critical programming /." Thesis, McGill University, 1999. http://digitool.Library.McGill.CA:80/R/?func=dbin-jump-full&object_id=30772.

Full text
Abstract:
As the number of applications of computers controlling safety-critical operations increases, the need to ensure the safety and reliability of the software that controls those computers increases proportionally. Ultimately, such software properties are the result of appropriate design and implementation. However, certain characteristics of the language in which the software is written can have an impact on how that language facilitates both design and implementation, and how it encourages safety and reliability in the resulting software.
This paper explores the language characteristics that can impact the safety and reliability of the software produced. The goal is to provide a set of criteria that can be used for the selection of an appropriate language for real-time, safety-critical development. It proposes a set of characteristics that can affect the suitability of a language to such development, and compares a selection of common programming languages, including Ada, C, C++ and Java, against this framework.
APA, Harvard, Vancouver, ISO, and other styles
22

Perez, Dominguez Ivan. "Extensible and robust functional reactive programming." Thesis, University of Nottingham, 2018. http://eprints.nottingham.ac.uk/50348/.

Full text
Abstract:
Programming GUI and multimedia in functional languages has been a long-term challenge, and no solution convinces the community at large. Purely functional GUI and multimedia toolkits enable abstract thinking, but have enormous maintenance costs. General solutions like Functional Reactive Programming present a number of limitations. FRP has traditionally resisted efficient implementation, and existing libraries sacrifice determinism and abstraction in the name of performance. FRP also enforces structural constraints that facilitate reasoning, but at the cost of modularity and separation of concerns. This work addresses those limitations with the introduction of Monadic Stream Functions, an extension to FRP parameterised over a monad. I demonstrate that, in spite of being simpler than other FRP proposals, Monadic Stream Functions subsume and exceed other FRP implementations. Unlike other proposals, Monadic Stream Functions maintain purity at the type level, which is crucial for testing and debugging. I demonstrate this advantage by introducing FRP testing facilities based on temporal logics, together with debugging tools specific for FRP. I present two uses cases for Monadic Stream Functions: First, I show how the new constructs improved the design of game features and non-trivial games. Second, I present Reactive Values and Relations, an abstraction for model-view coordination in GUI programs based on a relational language, built on top of Monadic Stream Functions. Comprehensive examples are used to illustrate the benefits of this proposal in terms of clarity, modularity, feature coverage, and its low maintenance costs. The testing facilities mentioned before are used to encode and statically check desired interaction properties.
APA, Harvard, Vancouver, ISO, and other styles
23

Larsson, Andreas. "Embodied Understanding in Computer Programming : A semiotic analysis of metaphors used in programming." Thesis, Linköpings universitet, Pedagogik och didaktik, 2018. http://urn.kb.se/resolve?urn=urn:nbn:se:liu:diva-147283.

Full text
Abstract:
Language can be seen as a bridge between the way we think and our actions. From a social semiotic, language becomes a resource with which collective knowledge can be distributed. The way we talk about an artefact is a reflection of our conceptual understanding thereof. Often, we use conceptual metaphors to communicate abstract concepts in abstract reasoning domains such as computer science. Conceptual metaphors are formed in relation to primary metaphors and are grounded in sensorimotor experience. Primary metaphors can be used to analyse how we embody our conceptual understanding of specific concepts. The aims of this study are threefold: Firstly, to explore how conceptual metaphors are used by students and teachers while engaging in conversations about computer programming; secondly, to analyse the emergent conceptual metaphors to identify how teachers and students understand abstract aspects about computer programming and thirdly, to identify the sensorimotor experiences that contribute to shaping the conceptual metaphors used by the students and the teachers. Two teachers and three students from two different upper-secondary schools engaged in informal conversations regarding aspects of computer programming. The conversations were audiorecorded, and excerpts were transcribed verbatim and translated into English. The excerpts were analysed by adopting a methodological framework based on Grady’s theory of primary metaphor. Results suggest that teachers and students have a multi-faceted conceptual understanding of computer science that involves concepts such as spatial relations, similarities between objects and computer code. Other emergent aspects concerned interpersonal relationships, in relation to customer service and social skills. The findings imply that expanding the number of available conceptual metaphors could lead to a more diverse set of didactic tools in computer science education, thus increasing overall conceptual understanding.
Vårt språk kan ses som en brygga mellan det sätt vi tänker och det sätt vi agerar. Ur ett socialsemiotiskt perspektiv blir språket ett verktyg med vilket kollektiv kunskap kan distribueras. Detta gör det rimligt att säga att det sätt varpå vi talar en spegling av vår möjlighet att förstå. Vi använder ofta konceptuella metaforer för att kommunicera abstrakta koncept som exempelvis datavetenskap. Konceptuella metaforer formas i relation till primärmetaforer, grundade i sensomotoriska erfarenheter. Primärmetaforer kan användas för att analysera hur vi kroppsligt befäster och förstår specifika koncept. Syftet med denna studie är att: i, undersöka hur konceptuella metaforer används av lärare och elever vid samtal rörande programmering, ii, använda de uppkomna konceptuella metaforerna för att identifiera lärares och elevers förståelse för abstrakta aspekter av programmering och iii, identifiera de sensomotoriska upplevelser som formar de konceptuella metaforer lärarna och eleverna använder sig av. Informella samtal kring olika aspekter av programmering genomfördes med två lärare och tre elever vid två svenska gymnasieskolor. Samtalen spelades in, varefter kortare utdrag transkriberades och översattes till engelska. Utdragen har analyserats med en metod baserad på Gradys teori om primärmetaforer. Studiens resultat visar att lärare och elever har en mångfacetterad förståelse för programmering. Deras konceptuella förståelse baseras på bland annat rumsliga relationer mellan olika objekt, skillnader och olika objekt samt relationen till kod. Andra identifierade aspekter berör interpersonella förhållanden, kundservice och social kompetens. Resultaten indikerar att en vidgad uppsättning didaktiska verktyg inom programmeringsundervisning skulle kunna öka antalet tillgängliga konceptuella metaforer relaterade till programmering och således öka den generella konceptuella förståelsen för programmering.
APA, Harvard, Vancouver, ISO, and other styles
24

Santi, Andrea <1985&gt. "Engineering Agent-Oriented Technologies and Programming Languages for Computer Programming and Software Development." Doctoral thesis, Alma Mater Studiorum - Università di Bologna, 2013. http://amsdottorato.unibo.it/5634/1/santi_andrea_tesi.pdf.

Full text
Abstract:
Mainstream hardware is becoming parallel, heterogeneous, and distributed on every desk, every home and in every pocket. As a consequence, in the last years software is having an epochal turn toward concurrency, distribution, interaction which is pushed by the evolution of hardware architectures and the growing of network availability. This calls for introducing further abstraction layers on top of those provided by classical mainstream programming paradigms, to tackle more effectively the new complexities that developers have to face in everyday programming. A convergence it is recognizable in the mainstream toward the adoption of the actor paradigm as a mean to unite object-oriented programming and concurrency. Nevertheless, we argue that the actor paradigm can only be considered a good starting point to provide a more comprehensive response to such a fundamental and radical change in software development. Accordingly, the main objective of this thesis is to propose Agent-Oriented Programming (AOP) as a high-level general purpose programming paradigm, natural evolution of actors and objects, introducing a further level of human-inspired concepts for programming software systems, meant to simplify the design and programming of concurrent, distributed, reactive/interactive programs. To this end, in the dissertation first we construct the required background by studying the state-of-the-art of both actor-oriented and agent-oriented programming, and then we focus on the engineering of integrated programming technologies for developing agent-based systems in their classical application domains: artificial intelligence and distributed artificial intelligence. Then, we shift the perspective moving from the development of intelligent software systems, toward general purpose software development. Using the expertise maturated during the phase of background construction, we introduce a general-purpose programming language named simpAL, which founds its roots on general principles and practices of software development, and at the same time provides an agent-oriented level of abstraction for the engineering of general purpose software systems.
APA, Harvard, Vancouver, ISO, and other styles
25

Santi, Andrea <1985&gt. "Engineering Agent-Oriented Technologies and Programming Languages for Computer Programming and Software Development." Doctoral thesis, Alma Mater Studiorum - Università di Bologna, 2013. http://amsdottorato.unibo.it/5634/.

Full text
Abstract:
Mainstream hardware is becoming parallel, heterogeneous, and distributed on every desk, every home and in every pocket. As a consequence, in the last years software is having an epochal turn toward concurrency, distribution, interaction which is pushed by the evolution of hardware architectures and the growing of network availability. This calls for introducing further abstraction layers on top of those provided by classical mainstream programming paradigms, to tackle more effectively the new complexities that developers have to face in everyday programming. A convergence it is recognizable in the mainstream toward the adoption of the actor paradigm as a mean to unite object-oriented programming and concurrency. Nevertheless, we argue that the actor paradigm can only be considered a good starting point to provide a more comprehensive response to such a fundamental and radical change in software development. Accordingly, the main objective of this thesis is to propose Agent-Oriented Programming (AOP) as a high-level general purpose programming paradigm, natural evolution of actors and objects, introducing a further level of human-inspired concepts for programming software systems, meant to simplify the design and programming of concurrent, distributed, reactive/interactive programs. To this end, in the dissertation first we construct the required background by studying the state-of-the-art of both actor-oriented and agent-oriented programming, and then we focus on the engineering of integrated programming technologies for developing agent-based systems in their classical application domains: artificial intelligence and distributed artificial intelligence. Then, we shift the perspective moving from the development of intelligent software systems, toward general purpose software development. Using the expertise maturated during the phase of background construction, we introduce a general-purpose programming language named simpAL, which founds its roots on general principles and practices of software development, and at the same time provides an agent-oriented level of abstraction for the engineering of general purpose software systems.
APA, Harvard, Vancouver, ISO, and other styles
26

Chan, Chi-hown Johnny. "Implementation of computer simulation software in learning low-level computer language : a case study /." Hong Kong : University of Hong Kong, 2001. http://sunzi.lib.hku.hk/hkuto/record.jsp?B24700770.

Full text
APA, Harvard, Vancouver, ISO, and other styles
27

Gamble, James Graham. "Explicit parallel programming." Thesis, This resource online, 1990. http://scholar.lib.vt.edu/theses/available/etd-06082009-171019/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
28

Quigley, Claire Louise. "A programming logic for Java bytecode programs." Thesis, University of Glasgow, 2004. http://theses.gla.ac.uk/3030/.

Full text
Abstract:
One significant disadvantage of interpreted bytecode languages, such as Java, is their low execution speed in comparison to compiled languages like C. The mobile nature of bytecode adds to the problem, as many checks are necessary to ensure that downloaded code from untrusted sources is rendered as safe as possible. But there do exist ways of speeding up such systems. One approach is to carry out static type checking at load time, as in the case of the Java Bytecode Verifier. This reduces the number of runtime checks that must be done and also allows certain instructions to be replaced by faster versions. Another approach is the use of a Just In Time (JIT) Compiler, which takes the bytecode and produces corresponding native code at runtime. Some JIT compilers also carry out some code optimization. There are, however, limits to the amount of optimization that can safely be done by the Verifier and JITs; some operations simply cannot be carried out safely without a certain amount of runtime checking. But what if it were possible to prove that the conditions the runtime checks guard against would never arise in a particular piece of code? In this case it might well be possible to dispense with these checks altogether, allowing optimizations not feasible at present. In addition to this, because of time constraints, current JIT compilers tend to produce acceptable code as quickly as possible, rather than producing the best code possible. By removing the burden of analysis from them it may be possible to change this. We demonstrate that it is possible to define a programming logic for bytecode programs that allows the proof of bytecode programs containing loops. The instructions available to use in the programs are currently limited, but the basis is in place to extend these. The development of this logic is non-trivial and addresses several difficult problems engendered by the unstructured nature of bytecode programs.
APA, Harvard, Vancouver, ISO, and other styles
29

Council, Steven Michael. "A 'satisfiability' based approach to integer programming." Thesis, University of Southampton, 1999. https://eprints.soton.ac.uk/50600/.

Full text
Abstract:
The purpose of this work is the development of a collection of satisfiability based algorithms that can be used to solve particular instances of integer programming problems. Satisfiability based algorithms have recently obtained a strong standing within the industrial community and, although for all but a few special cases the problem is NP-complete, research has shown that other problems in this class can often be transformed into a corresponding satisfiability problem and solved more effectively using the best SAT-solvers. One of the most important uses of satisfiability based algorithms is within chip design testing, such as the floating point failure of Pentium processors which require the need of efficient satisfiability based tools to aid in the verification process. We start with the case of Pure 0-1 Integer Programming problems and show how they can be transformed into a general satisfiability problem and solved using an algorithm developed by Davis, Putnam and Loveland. The thesis then concerns itself with making the process as efficient as possible by adopting a number of approaches that include the implementation of polynomial time algorithms including 'Incremental Satisfiability', allowing flexibility to add new branching strategies and the conversion of constraints to logical clauses. The programs are compiled to interact with each other fully and are tested on the 'truss design problem' found in structural engineering.
APA, Harvard, Vancouver, ISO, and other styles
30

Petre, Marian. "Findings a basis for matching programming languages to programming tasks." Thesis, University College London (University of London), 1989. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.252003.

Full text
APA, Harvard, Vancouver, ISO, and other styles
31

Wendelborn, Andrew Lawrence. "Data flow implementations of a lucid-like programming language." Title page, contents and summary only, 1985. http://web4.library.adelaide.edu.au/theses/09PH/09phw471.pdf.

Full text
APA, Harvard, Vancouver, ISO, and other styles
32

Affleck, Glenn. "Factors involved in teaching and learning computer programming." Thesis, University of the West of Scotland, 2011. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.730014.

Full text
APA, Harvard, Vancouver, ISO, and other styles
33

Jayawardane, Ananda Kithsiri Wijenayaka. "Optimising earthmoving by linear programming and computer simulation." Thesis, Loughborough University, 1989. https://dspace.lboro.ac.uk/2134/31915.

Full text
Abstract:
The accuracy of planning and estimating of earthmoving operations in any highway construction is important for both successful tendering and high profit margins. Mass-haul diagrams and experienced engineering judgement together with deterministic methods have been the key factors in planning and estimating earthmoving operations. Despite this, the limited use of Mass-haul diagrams and inaccuracy of deterministic estimates are well known. Although Stochastic and Linear Programming methods were developed to overcome some of these limitations, those available hitherto are relatively fundamental and are not bold enough to incorporate most real-life problems.
APA, Harvard, Vancouver, ISO, and other styles
34

Andric, Marina. "Programming Abstractions for Data Sharing in Distributed Spaces." Thesis, IMT Alti Studi Lucca, 2017. http://e-theses.imtlucca.it/220/1/Andric_phdthesis.pdf.

Full text
Abstract:
The cost of moving data is becoming a dominant factor for performance and energy efficiency in high-performance computing systems. To minimize data movement, applications have to consider data placement in order to optimize data transfer between processing units. To address this scenario, new compiler techniques, tools, libraries and programming abstractions are necessary for harnessing data locality. The goal of this thesis is to offer suitable solutions to the challenging problems of data distribution and locality in largescale high-performance computing. To this end, we have developed new programming primitives for two partitioned data space languages, namely, Klaim and X10. Abstractions for partitions and data items are called tuple spaces and tuples in Klaim, and places and objects in X10. As a result, we designed two languages, RepliKlaim and SharedX10 which enrich Klaim and X10 with new primitives for data sharing. Our approach aims at allowing programmers to specify and coordinate shared data and, specifically, to replicate shared data items while taking into account desired consistency properties. Programmers can exploit such flexible mechanisms to adapt data distribution and locality to the desired levels, e.g., to improve performance in terms of concurrency and data access. We investigate issues related to replica consistency and provide analysis of performance and programmability, including several applications from large scale graph analytics
APA, Harvard, Vancouver, ISO, and other styles
35

Hill, Stephen A. "Functional programming techniques." Thesis, University of Kent, 1989. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.236147.

Full text
APA, Harvard, Vancouver, ISO, and other styles
36

Longley, Mark. "Functional programming applications." Thesis, University of Kent, 1991. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.303191.

Full text
APA, Harvard, Vancouver, ISO, and other styles
37

Milicevic, Aleksandar Ph D. Massachusetts Institute of Technology. "Advancing declarative programming." Thesis, Massachusetts Institute of Technology, 2015. http://hdl.handle.net/1721.1/99835.

Full text
Abstract:
Thesis: Ph. D., Massachusetts Institute of Technology, Department of Electrical Engineering and Computer Science, 2015.
Cataloged from PDF version of thesis.
Includes bibliographical references (pages 141-153).
This thesis attempts to unite and consolidate two large and often culturally disjoint programming paradigms: declarative (focusing on specifying what a program is supposed to do, e.g., shuffle an array so that its elements are ordered) and imperative (detailing how the program intention is to be implemented, e.g., by applying the QuickSort algorithm). The ultimate result of such an effort would be a unified programming environment in which both paradigms are seamlessly integrated, specifications are fully and efficiently executable, and programs are written by freely mixing imperative statements and declarative specifications. With the advent of automated constraint solving, executing declarative specifications as standalone programs has become feasible. A number of challenges still remain. To achieve full automation, constraint solvers often impose restrictions on specification languages and their expressiveness; compromises are also made when integrating a (typically logic-based) specification language with a traditional procedural programming language; and finally, applicability is usually limited to specialized algorithmic domains (for which constraint solving is particularly suitable) and programmers comfortable with writing formal logic. This thesis proposes several advances to address these issues. First, a novel constraint solving framework is presented, Alloy*, the first of its kind capable of automatically and reliably solving arbitrary higher-order formulas (written in standard predicate logic) over bounded domains. Second, a new approach to integrating a specification and an implementation language is proposed, where Alloy, a relational logic-based modeling and specification language, is deeply embedded in Ruby. The resulting platform, called [alpha]Rby, uses Alloy* as its back end, and serves both as an Alloy modeling environment with added Ruby scripting layer around it, and as a Ruby programming environment with added executable specifications. Third, the general idea of declarative programming (focusing on what instead of how) is applied to web programming, producing SUNNY, a model-based reactive web framework with a clear separation between data, events (business logic), and security policies. SUNNY is (1) policy-agnostic-allows security policies to be specified individually and independently from the rest of the code, (2) reactive-automatically propagates data updates to all connected clients while enforcing the security policies, (3) mostly declarative-offers a unified sequential view of the entire distributed web system, allowing events to be implemented only in terms of simple modifications to the data model.
by Aleksandar Milicevic.
Ph. D.
APA, Harvard, Vancouver, ISO, and other styles
38

Weimann, Oren. "Accelerating dynamic programming." Thesis, Massachusetts Institute of Technology, 2009. http://hdl.handle.net/1721.1/53302.

Full text
Abstract:
Thesis (Ph. D.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2009.
Cataloged from PDF version of thesis.
Includes bibliographical references (p. 129-136).
Dynamic Programming (DP) is a fundamental problem-solving technique that has been widely used for solving a broad range of search and optimization problems. While DP can be invoked when more specialized methods fail, this generality often incurs a cost in efficiency. We explore a unifying toolkit for speeding up DP, and algorithms that use DP as subroutines. Our methods and results can be summarized as follows. - Acceleration via Compression. Compression is traditionally used to efficiently store data. We use compression in order to identify repeats in the table that imply a redundant computation. Utilizing these repeats requires a new DP, and often different DPs for different compression schemes. We present the first provable speedup of the celebrated Viterbi algorithm (1967) that is used for the decoding and training of Hidden Markov Models (HMMs). Our speedup relies on the compression of the HMM's observable sequence. - Totally Monotone Matrices. It is well known that a wide variety of DPs can be reduced to the problem of finding row minima in totally monotone matrices. We introduce this scheme in the context of planar graph problems. In particular, we show that planar graph problems such as shortest paths, feasible flow, bipartite perfect matching, and replacement paths can be accelerated by DPs that exploit a total-monotonicity property of the shortest paths. - Combining Compression and Total Monotonicity. We introduce a method for accelerating string edit distance computation by combining compression and totally monotone matrices.
(cont.) In the heart of this method are algorithms for computing the edit distance between two straight-line programs. These enable us to exploits the compressibility of strings, even if each string is compressed using a different compression scheme. - Partial Tables. In typical DP settings, a table is filled in its entirety, where each cell corresponds to some subproblem. In some cases, by changing the DP, it is possible to compute asymptotically less cells of the table. We show that [theta](n³) subproblems are both necessary and sufficient for computing the similarity between two trees. This improves all known solutions and brings the idea of partial tables to its full extent. - Fractional Subproblems. In some DPs, the solution to a subproblem is a data structure rather than a single value. The entire data structure of a subproblem is then processed and used to construct the data structure of larger subproblems. We suggest a method for reusing parts of a subproblem's data structure. In some cases, such fractional parts remain unchanged when constructing the data structure of larger subproblems. In these cases, it is possible to copy this part of the data structure to the larger subproblem using only a constant number of pointer changes. We show how this idea can be used for finding the optimal tree searching strategy in linear time. This is a generalization of the well known binary search technique from arrays to trees.
by Oren Weimann.
Ph.D.
APA, Harvard, Vancouver, ISO, and other styles
39

Little, Greg (Danny Greg). "Programming with keywords." Thesis, Massachusetts Institute of Technology, 2007. http://hdl.handle.net/1721.1/40529.

Full text
Abstract:
Thesis (S.M.)--Massachusetts Institute of Technology, Dept. of Electrical Engineering and Computer Science, 2007.
Includes bibliographical references (p. 105-108).
Modern applications provide interfaces for scripting, but many users do not know how to write script commands. However, many users are familiar with the idea of entering keywords into a web search engine. Hence, if a user is familiar with the vocabulary of an application domain, they may be able to write a set of keywords expressing a command in that domain. For instance, in the web browsing domain, a user might enter the keywords click search button. This thesis presents several algorithms for translating keyword queries such as this directly into code. A prototype of this system in the web browsing domain translates click search button into the code click(findButton("search")). This code may then be executed in the context of a web browser to carry out the effect. Another prototype in the Java domain translates append message to log into log.append(message), given an appropriate context of local variables and imported classes. The algorithms and prototypes are evaluated with several studies, suggesting that users can write keyword queries with little or no instructions, and that the resulting translations are often accurate. This is especially true in small domains like the web, whereas in a large domain like Java, the accuracy is comparable to the accuracy of writing syntactically correct Java code without assistance.
by Greg Little.
S.M.
APA, Harvard, Vancouver, ISO, and other styles
40

Wallace, Julia. "Quantum computer software." Thesis, University of Exeter, 2001. http://ethos.bl.uk/OrderDetails.do?uin=uk.bl.ethos.369975.

Full text
APA, Harvard, Vancouver, ISO, and other styles
41

Bal, Balbir S. "Studies in robot programming." Thesis, Aston University, 1990. http://publications.aston.ac.uk/10647/.

Full text
APA, Harvard, Vancouver, ISO, and other styles
42

Öigaard, Sandra. "Programming language & Gender." Thesis, Linnéuniversitetet, Institutionen för datavetenskap (DV), 2015. http://urn.kb.se/resolve?urn=urn:nbn:se:lnu:diva-45707.

Full text
Abstract:
Once women were the pioneers within the tech industry, but during the last decades the amount of women who choose a career within computer science has decreased rapidly. Programming languages have evolved during the last decades and because of the growing gender gap in the industry, they have done so involuntarily in the absence of women. The imbalance raises the question if the tech industry and the programming languages have been adapted for a more masculine way of developing software. A quantitative study and a literature review evaluates if there is a need for a computerlanguage developed towards women. The study comes to the conclusion that there is no need for a female inspired computer language, but the way computer languages are taught suits the male way of thinking better than the female way.
APA, Harvard, Vancouver, ISO, and other styles
43

Vaudin, John. "A unified programming system for a multi-paradigm parallel architecture." Thesis, University of Warwick, 1991. http://wrap.warwick.ac.uk/108849/.

Full text
Abstract:
Real time image understanding and image generation require very large amounts of computing power. A possible way to meet these requirements is to make use of the power available from parallel computing systems. However parallel machines exhibit performance which is highly dependent on the algorithms being executed. Both image understanding and image generation involve the use of a wide variety of algorithms. A parallel machine suited to some of these algorithms may be unsuited to others. This thesis describes a novel heterogeneous parallel architecture optimised for image based applications. It achieves its performance by combining two different forms of parallel architecture, namely fine grain SIMD and course grain MIMD, into a single architecture. In this way it is possible to match the most appropriate computing resource to each algorithm in a given application. As important as the architecture itself is a method for programming it. This thesis describes a novel multi-paradigm programming language based on C++, which allows programs which make use of both control and data parallelism to be expressed in a single coherent framework, based on object oriented programming. To demonstrate the utility of both the architecture and the programming system, two applications, one from the field of image understanding the other image generation are examined. These applications combine some novel algorithms with other novel implementation approaches to provide the most effective mapping onto this architecture.
APA, Harvard, Vancouver, ISO, and other styles
44

Steinhoff, Robert J. "A Performance Comparison of Tree-Based Genetic Programming versus Stack-Based Genetic Programming versus Stack-Based Genetic Programming Using the Java Virtual Machine." NSUWorks, 2000. http://nsuworks.nova.edu/gscis_etd/859.

Full text
Abstract:
Stack-based genetic programming uses variable length, linear programs executing on a virtual stack machine. This concept was proposed and evaluated by Timothy Perkis. The Java programming language uses a stack-based virtual machine to perform operations. This paper examined the possibility of performing stack-based genetic programming directly using the stack on the Java virtual machine. The problems of combining stack based genetic programming with the Java virtual machine stack were explored. Excessive runtime delay on bytecode verification of the chromosome carrying classes undergoing fitness evaluation was identified. Another problem is that the Java virtual machine stack must be tightly controlled and cannot have illegal operands. Direct comparison of stack-based genetic programming on the Java virtual machine to common tree-based genetic programming was not performed due to discovered flaws in the architecture. A practical model to implement stack-based genetic programming on the Java virtual machine using a class bytecode assembler was proposed. This model combines the GPsys genetic programming system with the JAS bytecode assembler resulting in an architecture called GPsys-JAS. A further recommendation to compare stack-based genetic programming on the Java virtual machine against stack-based genetic programming using the Java Stack class was suggested.
APA, Harvard, Vancouver, ISO, and other styles
45

Cilliers, Charmain Barbara. "A comparison of programming notations for a tertiary level introductory programming course." Thesis, University of Port Elizabeth, 2004. http://hdl.handle.net/10948/d1019679.

Full text
Abstract:
Increasing pressure from national government to improve throughput at South African tertiary education institutions presents challenges to educators of introductory programming courses. In response, educators must adopt effective methods and strategies that encourage novice programmers to be successful in such courses. An approach that seeks to increase and maintain satisfactory throughput is the modification of the teaching model in these courses by adjusting presentation techniques. This thesis investigates the effect of integrating an experimental iconic programming notation and associated development environment with existing conventional textual technological support in the teaching model of a tertiary level introductory programming course. The investigation compares the performance achievement of novice programmers using only conventional textual technological support with that of novice programmers using the integrated iconic and conventional textual technological support. In preparation for the investigation, interpretation of existing knowledge on the behaviour of novice programmers while learning to program results in a novel framework of eight novice programmer requirements for technological support in an introductory programming course. This framework is applied in the examination of existing categories of technological support as well as in the design of new technological support for novice programmers learning to program. It thus provides information for the selection of existing and the design of new introductory programming technological support. The findings of the investigation suggest strong evidence that performance achievement of novice programmers in a tertiary level introductory programming course improves significantly with the inclusion of iconic technological support in the teaching model. The benefits are particularly evident in the portion of the novice programmer population who have been identified as being at risk of being successful in the course. Novice programmers identified as being at risk perform substantially better when using iconic technological support concurrently with conventional textual technological support than their equals who use only the latter form. Considerably more at risk novice programmers using the integrated form of technological support are in fact successful in the introductory programming course when compared with their counterparts who use conventional textual technological support only. The contributions of this thesis address deficiencies existing in current documented research. These contributions are primarily apparent in a number of distinct areas, namely: • formalisation of a novel framework of novice programmer requirements for technological support in an introductory programming course; • application of the framework as a formal evaluation technique; • application of the framework in the design of a visual iconic programming notation and development environment; • enhancement of existing empirical evidence and experimental research methodology typically applied to studies in programming; as well as • a proposal for a modified introductory programming course teaching model. The thesis has effectively applied substantial existing research on the cognitive model of the novice programmer as well as that on experimental technological support. The increase of throughput to a recommended rate of 75 percent in the tertiary level introductory programming course at the University of Port Elizabeth is attributed solely to the incorporation of iconic technological support in the teaching model of the course.
APA, Harvard, Vancouver, ISO, and other styles
46

Sculthorpe, Neil. "Towards safe and efficient functional reactive programming." Thesis, University of Nottingham, 2011. http://eprints.nottingham.ac.uk/11981/.

Full text
Abstract:
Functional Reactive Programming (FRP) is an approach to reactive programming where systems are structured as networks of functions operating on time-varying values (signals). FRP is based on the synchronous data-flow paradigm and supports both continuous-time and discrete-time signals (hybrid systems). What sets FRP apart from most other reactive languages is its support for systems with highly dynamic structure (dynamism) and higher-order reactive constructs (higher-order data-flow). However, the price paid for these features has been the loss of the safety and performance guarantees provided by other, less expressive, reactive languages. Statically guaranteeing safety properties of programs is an attractive proposition. This is true in particular for typical application domains for reactive programming such as embedded systems. To that end, many existing reactive languages have type systems or other static checks that guarantee domain-specific constraints, such as feedback being well-formed (causality analysis). However, compared with FRP, they are limited in their capacity to support dynamism and higher-order data-flow. On the other hand, as established static techniques do not suffice for highly structurally dynamic systems, FRP generally enforces few domain-specific constraints, leaving the FRP programmer to manually check that the constraints are respected. Thus, there is currently a trade-off between static guarantees and dynamism among reactive languages. This thesis contributes towards advancing the safety and efficiency of FRP by studying highly structurally dynamic networks of functions operating on mixed (yet distinct) continuous-time and discrete-time signals. First, an ideal denotational semantics is defined for this kind of FRP, along with a type system that captures domain-specific constraints. The correctness and practicality of the language and type system are then demonstrated by proof-of-concept implementations in Agda and Haskell. Finally, temporal properties of signals and of functions on signals are expressed using techniques from temporal logic, as motivation and justification for a range of optimisations.
APA, Harvard, Vancouver, ISO, and other styles
47

Gustafson, Steven Matt. "An analysis of diversity in genetic programming." Thesis, University of Nottingham, 2004. http://eprints.nottingham.ac.uk/10057/.

Full text
Abstract:
Genetic programming is a metaheuristic search method that uses a population of variable-length computer programs and a search strategy based on biological evolution. The idea of automatic programming has long been a goal of artificial intelligence, and genetic programming presents an intuitive method for automatically evolving programs. However, this method is not without some potential drawbacks. Search using procedural representations can be complex and inefficient. In addition, variable sized solutions can become unnecessarily large and difficult to interpret. The goal of this thesis is to understand the dynamics of genetic programming that encourages efficient and effective search. Toward this goal, the research focuses on an important property of genetic programming search: the population. The population is related to many key aspects of the genetic programming algorithm. In this programme of research, diversity is used to describe and analyse populations and their effect on search. A series of empirical investigations are carried out to better understand the genetic programming algorithm. The research begins by studying the relationship between diversity and search. The effect of increased population diversity and a metaphor of search are then examined. This is followed by an investigation into the phenomenon of increased solution size and problem difficulty. The research concludes by examining the role of diverse individuals, particularly the ability of diverse individuals to affect the search process and ways of improving the genetic programming algorithm. This thesis makes the following contributions: (1) An analysis shows the complexity of the issues of diversity and the relationship between diversity and fitness, (2) The genetic programming search process is characterised by using the concept of genetic lineages and the sampling of structures and behaviours, (3) A causal model of the varied rates of solution size increase is presented, (4) A new, tunable problem demonstrates the contribution of different population members during search, and (5) An island model is proposed to improve the search by speciating dissimilar individuals into better-suited environments. Currently, genetic programming is applied to a wide range of problems under many varied contexts. From artificial intelligence to operations research, the results presented in this thesis will benefit population-based search methods, methods based on the concepts of evolution and search methods using variable-length representations.
APA, Harvard, Vancouver, ISO, and other styles
48

Teague, Madonna Margaret. "Pedagogy of introductory computer programming : a people-first approach." Thesis, Queensland University of Technology, 2011. https://eprints.qut.edu.au/46255/1/Donna_Teague_Thesis.pdf.

Full text
Abstract:
Students struggle with learning to program. In recent years, not only has there been a dramatic drop in the number of students enrolling in IT and Computer Science courses, but attrition from these courses continues to be significant. Introductory programming subjects traditionally have high failure rates and as they tend to be core to IT and Computer Science courses can be a road block for many students to their university studies. Is programming really that difficult — or are there other barriers to learning that have a serious and detrimental effect on student progression? In-class experiments were conducted in introductory programming units to confirm our hypothesis that that pair-programming would benefit students' learning to program. We investigated the social and cultural barriers to learning programming by questioning students' perceptions of confidence, difficulty and enjoyment of programming. The results of paired and non-paired students were compared to determine the effect of pair-programming on learning outcomes. Both the empirical and anecdotal results of our experiments strongly supported our hypothesis.
APA, Harvard, Vancouver, ISO, and other styles
49

Palmieri, David Walsh. "Knowledge Management Through Pair Programming." NCSU, 2002. http://www.lib.ncsu.edu/theses/available/etd-20020328-093026.

Full text
Abstract:

Knowledge Management has been the subject of increasing focus over the last several years. Literature and research on the topic has grown as companies and organizations have come to realize that success is often determined by one's ability to create, disseminate, and embody knowledge in products and services. This realization has led to increased interest in examining the ways in which knowledge can be effectively created, identified, codified, disseminated, and retained. The field of Knowledge Management has emerged to address this need.

One of the obstacles that Knowledge Management seeks to overcome is the natural tendency in people to hoard knowledge. People often withhold knowledge when they feel it provides them with a competitive advantage over others. Many traditional management incentives and team structures create and perpetuate competitive environments that encourage knowledge hoarding. Knowledge Management also seeks to find ways to reduce the impact of employee turnover. When an employee leaves a company or organization, the knowledge they possess often goes with them. This loss can potentially have a negative impact on the productivity and quality of the company or organization. Knowledge Management seeks to find ways to minimize loss of knowledge when an employee leaves a company or organization.

Pair programming is a practice that holds promise for overcoming some of the challenges faced by Knowledge Management. In pair programming, two programmers work side-by-side at one computer collaborating on the same design, algorithm, code, or test. The continual interaction between pair programmers would seem to provide an environment that promotes knowledge sharing, and collaborative knowledge discovery. Additionally, through pair rotation, in which pairs change partners fairly often, tacit knowledge might be spread more effectively through face-to-face communication than by documentation, databases, or other means.

This research examines pair programming in the realm of Knowledge Management, positing the following hypotheses:Pair programming reduces the tendency of people to hoard knowledge.Pair programming reduces the impact of employee turnover.Pair programming is an effective means of knowledge dissemination and knowledge retention that has a positive influence on the Knowledge Management practices of a company or organization.

These hypotheses are tested through the use of a survey of individuals in technology research, development, and service. Analysis of the survey results provided no conclusive evidence to either support or disprove the hypothesis that pair programming reduces the tendency of people to hoard knowledge. The results indicate support for the hypothesis that pair programming reduces the impact of employee turnover, although not statistically significant. And finally, the survey results indicate with statistical significance that pair programming is an effective means of knowledge dissemination and retention, with a positive influence on the Knowledge Management practices of a company or organization.

APA, Harvard, Vancouver, ISO, and other styles
50

Wu, Cheng-Shiung Jesse. "A wysiwyg literate programming system /." The Ohio State University, 1990. http://rave.ohiolink.edu/etdc/view?acc_num=osu1487683756125668.

Full text
APA, Harvard, Vancouver, ISO, and other styles
We offer discounts on all premium plans for authors whose works are included in thematic literature selections. Contact us to get a unique promo code!

To the bibliography