Linear programming is a mathematical optimization technique used in numerous fields including mathematics, economics, and computer science, with numerous industrial contexts, including solving optimization problems su...
详细信息
ISBN:
(纸本)9781665445924
Linear programming is a mathematical optimization technique used in numerous fields including mathematics, economics, and computer science, with numerous industrial contexts, including solving optimization problems such as planning routes, allocating resources, and creating schedules. As a result of its wide breadth of applications, a considerable amount of its user base is lacking in terms of programming knowledge and experience and thus often resorts to using graphical software such as Microsoft Excel. However, despite its popularity amongst less technical users, the methodologies used by these tools are often ad-hoc and prone to errors. To counteract this problem we propose creating a block-based language that allows users to create linear programming models using data contained inside spreadsheets. This language will guide the users to write syntactically and semantically correct programs and thus aid them in a way that current languages do not.
Many disciplines, including health science, increasingly demand custom applications that synthesize cloud, mobile and web functionality. But creating even simple apps is difficult. Why? In this paper, guided by Cognit...
详细信息
ISBN:
(纸本)9781450333627
Many disciplines, including health science, increasingly demand custom applications that synthesize cloud, mobile and web functionality. But creating even simple apps is difficult. Why? In this paper, guided by Cognitive Dimensions, we explore the design space for relevant programming notations and supporting tools, and we pinpoint what we hypothesize to be specific obstacles in the creation of cloud-mobile-web apps. Among these is the prevalence of hidden dependencies within code of apps. Based on this analysis, we propose a new notation called LondonTube aimed at making these hidden dependencies visible, thereby helping health scientists to create apps for themselves. A study showed that LondonTube reduced the time to create a cloud-mobile-web app by a factor of over 20, and it reduced questions about hidden dependencies.
Trigger-action programming (TAP) is a programming model enabling users to connect services and devices by writing if-then rules. As such systems are deployed in increasingly complex scenarios, users must be able to id...
详细信息
ISBN:
(纸本)9781450359702
Trigger-action programming (TAP) is a programming model enabling users to connect services and devices by writing if-then rules. As such systems are deployed in increasingly complex scenarios, users must be able to identify programming bugs and reason about how to fix them. We first systematize the temporal paradigms through which TAP systems could express rules. We then identify ten classes of TAP programming bugs related to control flow, timing, and inaccurate user expectations. We report on a 153-participant online study where participants were assigned to a temporal paradigm and shown a series of pre-written TAP rules. Half of the rules exhibited bugs from our ten bug classes. For most of the bug classes, we found that the presence of a bug made it harder for participants to correctly predict the behavior of the rule. Our findings suggest directions for better supporting end-user programmers.
We report results from a survey on spreadsheet use and experience with textual programming languages (n = 49). We find significant correlations between self-reported formula experience, programming experience, and ove...
详细信息
ISBN:
(纸本)9781450368193
We report results from a survey on spreadsheet use and experience with textual programming languages (n = 49). We find significant correlations between self-reported formula experience, programming experience, and overall spreadsheet experience. We discuss the implications of our findings for spreadsheet research and end-user programming research, more generally.
Educational robots serve multiple purposes, including language learning, social skills development for students with autism, and improving communication skills. This research emphasizes the role of educational profess...
详细信息
ISBN:
(纸本)9798400708244
Educational robots serve multiple purposes, including language learning, social skills development for students with autism, and improving communication skills. This research emphasizes the role of educational professionals in designing robotic learning activities, highlighting their understanding of pedagogy and student needs. Two language instructors co-designed programming workshops which aimed to teach them how to program the social robot NAO. They implemented robotic language learning activities that were used by 35 students in Finnish language courses. The results of this research suggested that hands-on programming workshops are an effective way to learn robot programming. Maintaining motivation during the sessions is facilitated by setting clear and concrete goals, monitoring progress, acquiring new knowledge, and following a precise schedule. The instructors faced challenges such as unexpected responses from the robots, the initial complexity of the programming software, and apprehensions about programming based on prior knowledge of text-based programming languages.
programming mobile manipulator robots requires specialized knowledge of robot perception, manipulation, and software frameworks. This puts robot programming out of reach for programmers who have not invested the time ...
详细信息
ISBN:
(纸本)9781450348850
programming mobile manipulator robots requires specialized knowledge of robot perception, manipulation, and software frameworks. This puts robot programming out of reach for programmers who have not invested the time to learn these skills. The goal of our research is to make it possible for all programmers to develop applications for mobile manipulators such as clearing a table, fetching items, or playing games with people. This extended abstract describes our current work on Code3, a framework that all programmers can use to program robots. A user study we conducted showed that non-roboticist programmers were able to use our system to program a PR2 robot to clear a table and retrieve snacks. We also discuss our plans to extend this system to make it more useful and usable for real-world use cases.
Although household devices and home appliances function more and more as network-connected computers, they don't provide programming interfaces for the average user. We first identify the programming primitives an...
详细信息
ISBN:
(纸本)9783642216169
Although household devices and home appliances function more and more as network-connected computers, they don't provide programming interfaces for the average user. We first identify the programming primitives and control structures necessary for the universal programming of devices. We then propose a mapping between the features necessary for the programming of devices and the existing functionality of Scratch, an educational programming language we use as a basic interface between the devices and the users. Using this modified version of the Scratch language, we demonstrate usage cases in which novice programmers can program appliances, increasing their functionality and ability to be customized. We also show how standardizing this programming paradigm can facilitate knowledge transfer to new devices. We conclude by discussing our experiences prototyping programmable appliances.
Visual programming as a technique to support users to learn programming is an active field of research. Bringing together the hot topic of Smart Environments and the visual programming paradigm we present the Block-ba...
详细信息
ISBN:
(纸本)9781450364379
Visual programming as a technique to support users to learn programming is an active field of research. Bringing together the hot topic of Smart Environments and the visual programming paradigm we present the Block-based enduserprogramming tool for SMart Environments (BEESM). The dedicated application domain engages users to get interested in programming. BEESM allows to learn the general purpose of programming and rapidly prototype and customize applications in the context of smart environments. This approach enables users to program smart environments, microcontrollers and mobile robots one at a time and in combination with each other. It provides a block-based rapid programming tool as a hassle-free environment for educators and engineers to make it compatible with different smart devices and environments.
Children are exposed to a set of Internet of Things (IOT) devices such as IOToys. Some of these devices are not only for use, but offer possibilities of customization through programming by children. Despite the exist...
详细信息
ISBN:
(纸本)9781450386173
Children are exposed to a set of Internet of Things (IOT) devices such as IOToys. Some of these devices are not only for use, but offer possibilities of customization through programming by children. Despite the existence of products and projects aimed at children, the initiatives presented to children of preschool age are generally educational or focused on entertainment and do not consider the possibility that children will control their functioning, programming the behavior of these products. This research aimed at investigating how children from 4 to 6 years old perceive the programming of IOT devices and, from the practice with them, build a prototype of a programming environment for them. To this end, 3 Participatory Design techniques were adapted and applied with 30 children. A final prototype was built and the usability was assessed by an analytical and an empirical method with the participation of 6 children. Lessons learned for the design of these solutions are discussed.
This paper introduces Code3, a system for user-friendly, rapid programming of mobile manipulator robots. The system is designed to let non-roboticists and roboticists alike program end-to-end manipulation tasks. To ac...
详细信息
ISBN:
(纸本)9781450343367
This paper introduces Code3, a system for user-friendly, rapid programming of mobile manipulator robots. The system is designed to let non-roboticists and roboticists alike program end-to-end manipulation tasks. To accomplish this, Code3 provides three integrated components for perception, manipulation, and high-level programming. The perception component helps users define a library of object and scene parts that the robot can later detect. The manipulation component lets users define actions for manipulating objects or scene parts through programming by demonstration. Finally, the high-level programming component provides a drag-and-drop interface with which users can program the logic and control flow to accomplish a task using their previously specified perception and manipulation capabilities. We present findings from an observational user study with non-roboticist programmers (N=10) that demonstrate their ability to quickly learn Code3 and program a PR2 robot to do manipulation tasks. We also demonstrate how the system is expressive enough for an expert to rapidly program highly complex manipulation tasks like playing tic-tac-toe and reconfiguring an object to be graspable.
暂无评论