Automation macros enable users to perform digital tasks programmatically to save time or support hands-free interaction. For example, macros can be used to perform web scraping for a research project (e.g., scraping a...
详细信息
ISBN:
(数字)9781665442145
ISBN:
(纸本)9781665442152;9781665442145
Automation macros enable users to perform digital tasks programmatically to save time or support hands-free interaction. For example, macros can be used to perform web scraping for a research project (e.g., scraping articles from a news site) or personal task automation via natural language (e.g., ordering food for delivery). Some kinds of automation are built into our devices and are readily available (e.g., via Siri [1] or Alexa [2] ), but this set is limited and often will not support a user’s niche or complex needs. Users can create their own custom macros, but traditionally this requires writing program code which involves a significant amount of effort for programmers and is infeasible for non-programmers.
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.
Online games have the potential to reach a wide audience and teach new skills. I propose to use Gidget, an online debugging game, to teach novices computer programming concepts in an engaging way. Learners must debug ...
详细信息
ISBN:
(纸本)9781479940356
Online games have the potential to reach a wide audience and teach new skills. I propose to use Gidget, an online debugging game, to teach novices computer programming concepts in an engaging way. Learners must debug faulty programs to progress through the game, which are set up in modules to teach specific computer programming concepts. Once all the levels are complete, learners are given the option to further engage in the game by creating their own levels that can be shared with their friends and family. Over 800 people have played the game online as part of several research studies and it will be released freely to the public in the near future.
We propose a human-centred model for abstraction, modelling and computing in function-driven spatial design for architecture. The primitive entities of our design conception ontology and computing framework are driven...
详细信息
ISBN:
(纸本)9781467308502
We propose a human-centred model for abstraction, modelling and computing in function-driven spatial design for architecture. The primitive entities of our design conception ontology and computing framework are driven by classic notions of 'structure, function, and affordance' in design, and are directly based on the fundamental human perceptual and analytical modalities of visual and locomotive exploration of space. With an emphasis on design semantics, our model for spatial design marks a fundamental shift from contemporary modelling and computational foundations underlying engineering-centred computer aided design systems. We demonstrate the application of our model within a system for human-centred computational design analysis and simulation. We also illustrate the manner in which our design modelling and computing framework seamlessly builds on contemporary industry data modelling standards within the architecture and construction informatics communities.
Integrating new input devices and their associated interaction techniques into interactive applications has always been challenging and time-consuming, due to the learning curve and technical complexity involved. Mode...
详细信息
ISBN:
(纸本)9781479903696
Integrating new input devices and their associated interaction techniques into interactive applications has always been challenging and time-consuming, due to the learning curve and technical complexity involved. Modeling devices, interactions and applications helps reducing the accidental complexity. visual modeling languages can hide an important part of the technical aspects involved in the development process, thus allowing a faster and less error-prone development process. However, even with the help of modeling, a gap remains to be bridged in order to go from models to the actual implementation of the interactive application. In this paper we use ICO, a visual formalism based on high-level Petri nets, to develop a generic layered framework for specifying executable models of interaction using gestural input devices. By way of the CASE tool Petshop we demonstrate the framework's feasibility to handle the Kinect and gesture-based interaction techniques. We validate the approach through two case studies that illustrate how to use executable, reusable and extensible ICO models to develop gesture-based applications.
Code smells were originally designed for object oriented code, but in recent years, have been applied to end user languages, including spreadsheets and Yahoo! Pipes. In this paper, we explore code smells in block-base...
详细信息
ISBN:
(纸本)9781509002528
Code smells were originally designed for object oriented code, but in recent years, have been applied to end user languages, including spreadsheets and Yahoo! Pipes. In this paper, we explore code smells in block-based end-user programming languages aimed at education. Specifically, we explore the occurrence of smells in two educational languages not previously targeted by smell detection and refactoring research: LEGO MINDSTORMS EV3 and Microsoft's Kodu. The results of this exploration show that object-oriented-inspired smells indeed occur in educational end-user languages and are present in 88% and 93% of the EV3 and Kodu programs, respectively. Most commonly we find that programs are plagued with lazy class, duplication, and dead code smells, with duplication smells being present in nearly two-thirds of programs in both languages.
Software developers often ask for support from other developers, but effective communication about programming problems can be challenging. In the context of user interface (UI) development, effective communication ab...
详细信息
ISBN:
(纸本)9781728108100
Software developers often ask for support from other developers, but effective communication about programming problems can be challenging. In the context of user interface (UI) development, effective communication about interactive behaviors of a UI is particularly difficult as it often requires a visual demonstration of the UI behaviors as supporting context. My motivational study found that our participants can always correctly understand a request when it includes video demos of the problem UI behavior and desired UI behavior. I summarized that an ideal request regarding a UI interactive behavior problem should include interrelated natural language description, relevant code, and demonstrations of non-desired and desired UI behaviors. I observed that developers often provide only the demonstration of not desired UI behavior and then describing the desired behavior on top of it. Unable to provide desired UI behaviors makes communication about UI behavior ineffective, and I argue this is a limitation of existing techniques. In this work, I would like to propose a solution to address it.
Programming in the large allows composition of processes executing code written using programming in the small. Traditionally, systems supporting programming in the large have included interpreters of OS command langu...
详细信息
ISBN:
(纸本)9781538642351
Programming in the large allows composition of processes executing code written using programming in the small. Traditionally, systems supporting programming in the large have included interpreters of OS command languages, but today, with the emergence of collaborative "big data" science, these systems also include cyberinfrastructures, which allow computations to be carried out on remote machines in the "cloud". The rationale for these systems, even the traditional command interpreters, is human-centriccomputing, as they are designed to support quick, interactive development and execution of process workflows. Some cyberinfrastructures extend this human- centricity by also providing manipulation of visualizations of these workflows. To further increase the human-centricity of these systems, we have started a new project on cyber training - instruction in the use of command languages and visual components of cyberinfrastructures. Our objective is to provide scalable remote awareness of trainees' progress and difficulties, as well as collaborative and automatic resolution of their difficulties. Our current plan is to provide awareness based on a subway workflow metaphor, allow a trainer to collaborate with multiple trainees using a single instance of a command interpreter, and combine research in process and interaction workflows to support automatic help. These research directions can be considered an application of the general principle of integrating programming in the small and large
We are developing a new paradigm of explanation-oriented languages whose objective is not only to describe the computation of values, but also to provide explanations of how and why those values are obtained. We have ...
详细信息
ISBN:
(纸本)9781424425280
We are developing a new paradigm of explanation-oriented languages whose objective is not only to describe the computation of values, but also to provide explanations of how and why those values are obtained. We have begun exploring this approach in the design of a visual notation for strategies in game theory. We plan to apply these ideas to other domains of public interest to both benefit those domains and to expand and solidify the theory behind explanation-oriented design.
The abstract nature of programming makes learning to code a daunting undertaking for many novice learners. In this work, we advocate the use of comics-a medium capable of presenting abstract ideas in a concrete, famil...
详细信息
ISBN:
(纸本)9781728169019
The abstract nature of programming makes learning to code a daunting undertaking for many novice learners. In this work, we advocate the use of comics-a medium capable of presenting abstract ideas in a concrete, familiar way-for introducing programming concepts. Particularly, we propose a design process and related tools to help students and teachers create coding strips, a form of comic strips that are associated with a piece of code. We conducted two design workshops with students and high school computer science teachers to evaluate our design process and tools. We find that our design process and tools are effective at supporting the design of coding strips and that both students and teachers are excited about using coding strip as a tool for learning and teaching programming concepts.
暂无评论