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.
Our aim is to provide empirical evidence that diagrammatic logics are more effective than symbolic and textual logics in allowing people to better understand information. Ontologies provide an important focus for such an empirical study: people need to understand the axioms of which ontologies comprise. A between-groups study compared six frequently-used axiom types using the (textual) Manchester...
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...
The LondonTube environment includes a visual programming language to ease creation of apps distributed at runtime over mobile devices, browsers and the cloud. However, a typical programmer still learning the language would struggle with debugging a program of realistic size, in large part due to the difficulty of finding and understanding bugs. We have implemented an IDE plugin aimed at showing where...
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...
Nowadays, touch-input devices are widely available. The use of such touch input devices, e.g., large wall-mounted touchscreens in (team) meeting rooms appear appropiate and desirable. Thus, team meetings can change from one-man-presentation-shows towards collaborative and interactive developing of plans and processes via designing and creating its corresponding diagrams. In this paper, we present...
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...
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,...
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...
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...
The Internet of Things (IoT) is expected to produce several changes in the ways computer technologies influence our life and in how we interact with them. Computation embedded in interconnected “smart” devices surrounding us is composing an emerging infrastructure able to sense, infer and actuate in the world in unprecedented ways, changing businesses and our everyday life. Among the several challenges...
In current business and product development processes, creating and editing diagrams (e.g. Statechart diagrams, Flowcharts or BPMN) play an important role. Three input methods can be distinguished: traditional mode-based editors, sketching editors, and gesture-based editors. Most of today's diagram editors are mode-based and use mouse & keyboard as input devices. (Multi-)touch inputs have not...
An obstacle for users engaged in data analysis task is determining the most useful way to visually represent their particular datasets. For users with little background in data analytics, this is mostly done through a trial-and-error process. My focus is on investigating appropriate techniques for automatically generating visualisations that help in identifying inconsistencies in data; explicit modelling...
We suggest a measure of initial learnability for programming languages based on Ausubel's Assimilation Theory. The measure is operationalized by asking a large number of programmer participants to compare pairs of expressions written in a known as well as an unknown programming language, and to comment on the differences. The value of the measure is the time needed for the participant to study the...
Currently, front-end web developers spend countless hours overcoming programming challenges while debugging unexpected asynchronous behaviors, writing code to interact with a framework's API, or fixing faults. Such problems demand rethinking programming tools, and for that, we systematically analyzed 301 posts from Stack Overflow, and sought to identify the programming activities developers struggled...
Despite the efforts to get underrepresented groups involved in online computing communities, few have joined. When these developers are asked why they chose not to participate, they often describe the Stack Overflow community as a place they do not feel welcomed in. In my work, I will study how to make programmers feel more welcomed and decide to participate in these communities using qualitative...
A diverse range of people, from students to engineers to designers, are interested in using programming to analyze, visualize, and build new intelligent systems from data. However, when working with data, a programmer must typically experiment heavily: writing out and running many different approaches in code to reach a desired result [1][2]. This form of exploratory programming presents extra challenges...
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...
Creativity theory states good designs are achieved by having a multitude of these designs [1]. Exploratory Programming is the process of trying out designs while writing software. Programmers have to evaluate these alternative implementations in order to implement new ideas [2]. These alternatives often have multiple objectives which might prompt a programmer to work towards multiple goals in episodes...
Computer science education is still limited for middle school and high school students, while programming becomes an important skill to know. Therefore, students often have to rely on novice programming environments such as Scratch [1] and Hour of Code [2] and learn coding independently.
One criterion that can be used to compare programming languages is learnability, or the ease with which a programming language can be learned by a programmer. Learnability has many aspects as well, such as mastery, change in performance over time, and initial learnability. This work examines a proposed measure of initial learnability that is based on the amount of time that a programmer needs to transfer...
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.