8 research outputs found

    E<smcap>MACS</smcap> for A<smcap>LDOR</smcap>: An external learning system.

    Get PDF
    No abstract available.The original print copy of this thesis may be available here: http://wizard.unbc.ca/record=b130305

    Technical Dimensions of Programming Systems

    Get PDF
    Programming requires much more than just writing code in a programming language. It is usually done in the context of a stateful environment, by interacting with a system through a graphical user interface. Yet, this wide space of possibilities lacks a common structure for navigation. Work on programming systems fails to form a coherent body of research, making it hard to improve on past work and advance the state of the art. In computer science, much has been said and done to allow comparison of programming languages, yet no similar theory exists for programming systems; we believe that programming systems deserve a theory too. We present a framework of technical dimensions which capture the underlying characteristics of programming systems and provide a means for conceptualizing and comparing them. We identify technical dimensions by examining past influential programming systems and reviewing their design principles, technical capabilities, and styles of user interaction. Technical dimensions capture characteristics that may be studied, compared and advanced independently. This makes it possible to talk about programming systems in a way that can be shared and constructively debated rather than relying solely on personal impressions. Our framework is derived using a qualitative analysis of past programming systems. We outline two concrete ways of using our framework. First, we show how it can analyze a recently developed novel programming system. Then, we use it to identify an interesting unexplored point in the design space of programming systems. Much research effort focuses on building programming systems that are easier to use, accessible to non-experts, moldable and/or powerful, but such efforts are disconnected. They are informal, guided by the personal vision of their authors and thus are only evaluable and comparable on the basis of individual experience using them. By providing foundations for more systematic research, we can help programming systems researchers to stand, at last, on the shoulders of giants

    Wearable computing and contextual awareness

    Get PDF
    Thesis (Ph.D.)--Massachusetts Institute of Technology, School of Architecture and Planning, Program in Media Arts and Sciences, 1999.Includes bibliographical references (leaves 231-248).Computer hardware continues to shrink in size and increase in capability. This trend has allowed the prevailing concept of a computer to evolve from the mainframe to the minicomputer to the desktop. Just as the physical hardware changes, so does the use of the technology, tending towards more interactive and personal systems. Currently, another physical change is underway, placing computational power on the user's body. These wearable machines encourage new applications that were formerly infeasible and, correspondingly, will result in new usage patterns. This thesis suggests that the fundamental improvement offered by wearable computing is an increased sense of user context. I hypothesize that on-body systems can sense the user's context with little or no assistance from environmental infrastructure. These body-centered systems that "see" as the user sees and "hear" as the user hears, provide a unique "first-person" viewpoint of the user's environment. By exploiting models recovered by these systems, interfaces are created which require minimal directed action or attention by the user. In addition, more traditional applications are augmented by the contextual information recovered by these systems. To investigate these issues, I provide perceptually sensible tools for recovering and modeling user context in a mobile, everyday environment. These tools include a downward-facing, camera-based system for establishing the location of the user; a tag-based object recognition system for augmented reality; and several on-body gesture recognition systems to identify various user tasks in constrained environments. To address the practicality of contextually-aware wearable computers, issues of power recovery, heat dissipation, and weight distribution are examined. In addition, I have encouraged a community of wearable computer users at the Media Lab through design, management, and support of hardware and software infrastructure. This unique community provides a heightened awareness of the use and social issues of wearable computing. As much as possible, the lessons from this experience will be conveyed in the thesis.by Thad Eugene Starner.Ph.D

    Achieving Self-Sustainability in Interactive Graphical Programming Systems

    Get PDF
    Programming is fraught with accidental complexity. Software, including tools used for programming, is inflexible and hard to adapt to one's specific problem context. Programming tools do not support Notational Freedom, so programmers must waste cognitive effort expressing ideas in suboptimal notations. They must also work around problems caused by a reliance on plain text representations instead of Explicit Structure. The idea of a Self-Sustainable programming system, open to adaptation by its users, promises a way out of these accidental complexities. However, the principles underlying such a property are poorly documented, as are methods for practically achieving it in harmony with Notational Freedom and Explicit Structure. We trace the causes of this difficulty and use them to inform our construction of a prototype self-sustainable system. By carefully reflecting on the steps involved in our specific case, we provide insight into how self-sustainability can be achieved in general, and thus how a motivated programmer can escape the aforementioned sources of accidental complexity

    Needs assessment of software systems graduates

    Get PDF
    The research problem of the present thesis was: What technical skills do graduates from specialization in Software Systems need? Triangulation; that is, several research methods and data sources were used to solve this problem. The largest part of the thesis consisted of three questionnaires where Finnish software developers (N = 11), professors and lecturers (N = 19), and Master's students (N = 24) evaluated the importance of 42 subjects and skills such as discrete mathematics and object-oriented programming. The second largest part of the thesis comprised two content analyses of job advertisements targeted at software developers. A trend analysis for the years 1990-2004 and a cross-sectional analysis of the year 2004 were conducted. In both analyses, the purpose was to find the most common technical skills sought in American job advertisements. In addition, four smaller content analyses were conducted. Documents for these content analyses were the degree requirements of 31 top-level American research universities, and the internship reports, course catalog, and Master's theses of the Helsinki University of Technology. A concept analysis of the concept "software systems" was also carried out. The main contributions of the present thesis are as follows: The thesis is so far the most versatile triangulation in the area in question. In particular, the content analysis of American degree requirements and the concept analysis of "software systems" were novel approaches. The thesis provided findings that the requirements for software developers have required greater versatility during the past 15 years. Todd, McKeen, and Gallupe reported similar change in 1995 for the 1970-1990 period. However, it was interesting to know if this trend had continued after 1990. According to the summarized results, the following technical subjects or skills were evaluated as being important: compilers, concurrent programming, data structures and algorithms, database management systems, distributed systems, object-oriented programming, operating systems, procedural programming, and software architectures. Most of these subjects or skills had already been reported as being important for software developers, for example, in the survey conducted by Lethbridge in 1998. The importance of physics and continuous mathematics was evaluated as being low. Previously, Lethbridge reported similar findings. In the job advertisement analyses of the present thesis, technical skills were analyzed in a more detailed manner than in the previous analyses on average. In particular, some results concerning distributed technology skills were new and more detailed than previously published.reviewe

    Programming on an already full brain

    No full text
    corecore