404,459 research outputs found

    Position Paper: Lack of Keyboard Support Cripples Block-Based Programming

    Get PDF
    Block-based programming is very popular with beginners, but it has failed to gain traction among intermediate and expert programmers. The mouse-centric interfaces typically found in block-based programming environments make edit interactions (especially in large programs) tedious and awkward. We propose that adding keyboard support is a key step to extending the applicability of block-based programming ideas and would allow their use by intermediate and expert programmers, extending some of their benefits to new user groups. We describe an implementation of this idea, `frame-based programming', which leads to a number of benefits in error avoidance and edit efficiency

    A general purpose programming framework for ubiquitous computing environments

    Get PDF
    It is important to note that the need to support ad-hoc and potentially mobile arrangements of devices in ubiquitous environments does not fit well within the traditional client/server architecture. We believe peer-to-peer communication offers a preferable alternative due to its decentralised nature, removing dependence on individual nodes. However, this choice adds to the complexity of the developers task. In this paper, we describe a two-tiered approach to address this problem: A lower tier employing peer-to-peer interactions for managing the network infrastructure and an upper tier providing a mobile agent based programming framework. The result is a general purpose framework for developing ubiquitous applications and services, where the underlying complexity is hidden from the developer. This paper discusses our on-going work; presenting our design decisions, features supported by our framework, and some of the challenges still to be addressed in a complex programming environment

    Value withdrawal explanations: a theoretical tool for programming environments

    Full text link
    Constraint logic programming combines declarativity and efficiency thanks to constraint solvers implemented for specific domains. Value withdrawal explanations have been efficiently used in several constraints programming environments but there does not exist any formalization of them. This paper is an attempt to fill this lack. Furthermore, we hope that this theoretical tool could help to validate some programming environments. A value withdrawal explanation is a tree describing the withdrawal of a value during a domain reduction by local consistency notions and labeling. Domain reduction is formalized by a search tree using two kinds of operators: operators for local consistency notions and operators for labeling. These operators are defined by sets of rules. Proof trees are built with respect to these rules. For each removed value, there exists such a proof tree which is the withdrawal explanation of this value.Comment: 14 pages; Alexandre Tessier, editor; WLPE 2002, http://xxx.lanl.gov/abs/cs.SE/020705
    corecore