The Infona portal uses cookies, i.e. strings of text saved by a browser on the user's device. The portal can access those files and use them to remember the user's data, such as their chosen settings (screen view, interface language, etc.), or their login data. By using the Infona portal the user accepts automatic saving and using this information for portal operation purposes. More information on the subject can be found in the Privacy Policy and Terms of Service. By closing this window the user confirms that they have read the information on cookie usage, and they accept the privacy policy and the way cookies are used by the portal. You can change the cookie settings in your browser.
Brain-Computer Interface (BCI) applications are gaining popularity as Electroencephalography (EEG) hardware becomes more accessible. BCI technology is used for various purposes such as neurophysiological evaluation, device control, user-state monitoring, and cognitive improvement. Although BCI software platforms exist, there are few systems designed to assist novice programmers with creating BCI applications...
Learners regularly abandon online coding tutorials when they get bored or frustrated, but there are few techniques for anticipating this abandonment to intervene. In this paper, we examine the feasibility of predicting abandonment with machine-learned classifiers. Using interaction logs from an online programming game, we extracted a collection of features that are potentially related to learner abandonment...
This paper provides the motivation for the design of a web-based planning tool called AgentDesign, a description of its components, and a discussion of elementary students' ability to use it for creating games. The planning tool presented in this paper was used to engage elementary students in an activity to design and then create a video game using an agent-based programming environment. The design...
When programmers use an API, they play the role of a “software user”. As the quality of use of programs and systems affects productivity, more attention has been paid to API usability issues. This work focuses on another dimension of the quality of use, “communicability”, which is characteristic of a semiotic approach. The paper presents a Semiotic Engineering study on the communicability of APIs...
My 1996 paper [1] challenged the VL community to ask What do we think we are doing? It might now be called a Systematic Literature Review, although formal procedures for SLR were not developed until later [5]. It made a textual analysis of publications in which authors described a cognitive rationale for VL research, observing that many relied on insights from folk psychology, from introspection,...
Programmers of all experience levels attempt to leverage code snippets with varying success, often as reminders or to learn new skills. To date, little work has explored the specific elements within code snippets that are challenging for novices. Comparing how novices and experts recall code snippets may expose what code elements programmers focus on and inform new approaches for improving examples...
Home automation has become increasingly popular, with new interconnected products being introduced on a regular basis. While the benefits of these devices are tantalizing, end users may not fully understand the complexities of setting up these devices, become frustrated with the process, or have incorrect installations. We performed an exploratory study to understand the barriers that they face in...
We designed, implemented, and evaluated a small physical keyboard, composed of four to five keys with a variety of mappings for the letters, along with one or two navigational function keys operated by the thumb. The small size allows it to be used for smartwatch text entry, and can be mounted on various body parts as a wearable keyboard. It is primarily used as an ambiguous keyboard, akin to T9,...
The syntax-directed keyboard extension presented by Almusaly et al. in 2015 allows programmers to input Java source code with fewer errors and keystrokes compared to the soft QWERTY keyboard and it supports a comparable typing speed. While these results were obtained after only 10 minutes of practice, it is unclear how long term use affects performance. In this paper, we present an updated design...
End-User Development (EUD) has been identified as one approach to address some of the challenges of the Internet of Things (IoT) by enabling people to configure technology to their specific needs and preferences. For this potential to be realized, end-users need appropriate tools to support them and, in order to build such tools, developers need a deeper understanding of what EUD for IoT really means...
A cloud platform records a wealth of information regarding program execution. Most cloud service providers offer dashboard monitoring tools that visualize resource usage and billing information, and support debugging. In this paper, we present a tool that visualizes cloud execution logs for a different goal — to facilitate program understanding and generate documentations for an application using...
Conversational agents are often used to perform tasks on smartphones, but existing conversational agents are limited in capabilities and lack of customizability. My work explores using the programming-by-demonstration approach to enable end users to program new tasks for conversational agents by demonstrating using the familiar graphical user interfaces of third-party apps. I propose to use a multi-modal...
Free/Open Source Software developers come from a myriad of different backgrounds, and are driven to contribute to projects for a variety of different reasons, including compensation from corporations or foundations. Motivation can have a dramatic impact on how and what contribution an individual makes, as well as how tenacious they are. These contributions may align with the needs of the developer,...
Unnecessary obstacles limit learning in cognitively-complex domains such as computer programming. With a lack of appropriate feedback mechanisms, novice programmers can experience frustration and disengage from the learning experience. In large-scale educational settings, the struggles of learners are often invisible to the learning infrastructure and learners have limited ability to seek help. In...
Prior work showed that in 2001 and 2003, workers in America who used spreadsheets or databases, and who did programming, earned 9 to 13% more than similar workers who did not use spreadsheets nor did programming. Such a fact, if still true, could help motivate workers to do programming and/or to create spreadsheets. This paper presents a study replicating these analyses using 2012 data. The results...
Most of today's approaches to introductory computer science education reflect a 1970s view of computer science: students typically create single-threaded programs that do local IO. Some of the technologies used within these educational experiences include post-70s visual language elements like blocks to assist with the syntax of programming, but the semantics of the programming have generally remained...
In this paper we describe how to use a Game-Based Learning (GBL) approach to help end-user programmers to develop Computational Thinking (CT) skills. CT represents a framework consisting of a set of skills such as: abstraction, decomposition and more in general problem solving expressed in a computational form (algorithmic thinking) that can be easily formalised into a computer program. Those skills...
In open-ended tasks where a program's behavior cannot be specified in advance, exploratory programming is a key practice in which programmers actively experiment with different possibilities using code. Exploratory programming is highly relevant today to a variety of professional and end-user programmer domains, including prototyping, learning through play, digital art, and data science. However,...
Set the date range to filter the displayed results. You can set a starting date, ending date or both. You can enter the dates manually or choose them from the calendar.