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.
User interface modeling tools can play a useful role for engineering interactive systems. However, little is known about how these tools are used, the strategies and workarounds employed, and whether usability problems are encountered. To start answering this question, we run a user study with software engineers carrying out task modeling activities. The analysis of the data generated by an instrumented...
Peer code reviews are important for giving and receiving peer feedback, but the code review process is time consuming. Static analysis tools can help reduce reviewer effort by catching common mistakes prior to peer code review. Ideally, contributors would use static analysis tools prior to pull request submission so common mistakes could be addressed first, before invoking the reviewer. To explore...
Recent advances in program synthesis offer means to automatically debug student submissions and generate personalized feedback in massive programming classrooms. When automatically generating feedback for programming assignments, a key challenge is designing pedagogically useful hints that are as effective as the manual feedback given by teachers. Through an analysis of teachers' hint-giving practices...
Spreadsheets serve as a basis for decision-making processes in many companies and bugs in spreadsheets can therefore represent a considerable risk to businesses. Systematic tests can help to locate such bugs, but providing test cases can be cumbersome and complex for large real-world spreadsheets. To make the specification of test cases easier, we propose to split spreadsheets into smaller logically...
Spreadsheets are used in professional business contexts to make decisions based on collected data. Usually, these spreadsheets are developed by end users in an ad-hoc way. Thus, the business logic of a concrete spreadsheet is not explicit to end users, making its correctness hard to assess and users have to trust. We present an approach where structure and computational behavior of a spreadsheet are...
To help users gain awareness of tools and features available in applications, recommender systems can automatically suggest useful tools. Such systems aim to present recommendations just like users would recommend tools to one another, but little is known about the nature of these user-to-user recommendations. This paper explores user-to-user recommendations through a study of 13 pairs of software...
Research has emerged over the past decade showing gender biases in software. Although a few methods and prototype systems have emerged to help address this issue, none have been reported to have an impact on the people who actually build software. In this paper, we summarize a few highlights from a year-long field study investigating how Gender HCI methods to address gender biases in software can...
Play is all around us, an essential and innate phenomenon that serves as an important mediator in creativity, interest, learning, and drive. Though play is thought to be universal, the way in which it materializes is situationally-dependent and not well-understood, particularly in software engineering. To understand how programmers express the concept of play, we conducted a qualitative study on the...
Spreadsheets are ubiquitous. Thus, it is important to understand the challenges faced by spreadsheet users in practice. To better understand these challenges, we surveyed ABB employees and then interviewed a cross-section of survey respondents. We used a two-phase coding process to classify the challenges they described. Our survey findings demonstrate that practices in our single-company setting...
Visual end-user programming interfaces are becoming increasingly important in the context of smart homes. This paper describes the comparative evaluation of two prototypes following different approaches: form-filling and data-flow programming. We assessed rule completion time, success, user experience and rule recollection as well as suitability to different user-groups. Participants were significantly...
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...
There are a variety of learning resources with the potential to support children in learning programming independently. While many of them have been evaluated in laboratory settings, we know little about how children choose to use these resources on their own. We conducted a study organized around a film festival to explore children's open-ended use of four different learning supports: tutorials,...
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...
In recent years, block-based programming languages have been employed as learning tools to help students starting out with programming. How we design the layout of the available blocks likely impacts the success of the student. In this study, we compare student performance in three conditions consisting of different layouts of block categories in a block-based language: a grouping based on computer...
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...
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,...
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...
Stack Overflow is a learning community for software developers to share and solve programming problems with each other. However, women are often deterred from contributing questions or answers. Research external to programming communities suggest the presence of peers can increase activity from underrepresented users in unfamiliar spaces. To investigate the concept of peer parity, we studied how women...
Diagrams can be an effective means of communicating complex ideas and can aid ontology engineering. Indeed, domain experts often do not have the expertise required to understand or create the complex logical statements of an ontology in description logic (DL). This paper presents a visualisation method, concept diagrams, geared toward expressing assertions and class expression axioms alongside providing...
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.