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.
Visual programming languages (VPL) simplifies the process of writing a program by letting users create programs through manipulation of graphical elements. Many VPLs focuses on a single domain, simplifying some complicated concepts of a General Purpose Language (GPL), being called Domain Specific Language (DSL). In Digital Art, PureData and EyesWeb are examples of VPLs that allow artists to do advanced...
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...
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...
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...
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...
End-user programming in smart homes addresses tasks that range from very simple to very complex. In this study we investigate how task complexity impacts performance when using two different visual programing representations: form-filling and data-flow programming. We invited 16 participants to create rules to solve smart-home situations of varying complexity and analyzed their completion rates for...
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...
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...
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...
Our paper on “Mica” from the 2006 IEEE Symposium on Visual Languages and Human-Centric Computing, VL/HCCO6 [1] presented a prototype tool that helped programmers use a description of desired functionality to find specific relevant API classes and methods. Mica worked by using the Google Web APIs to find pages relating to a given query, and then using a list of known API classes and methods to recognize...
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...
We conducted a study to investigate how learning styles related to the introductory Computer Science I course: the learning styles of the student population that took the course; course completion rates as they related to learning styles; relationship between the final grade in the course and learning styles; and the correlation between project and assignment completion rates and learning styles....
Trigger-Action Programming (TAP) has been shown to support end-users' rule-based mental models of context-aware applications. However, when desired behaviours increase in complexity, this can lead to ambiguity that confuses events, states, and how they can be combined in meaningful ways. Blocks programming could provide a solution, through constrained editing of visual triggers, conditions and actions...
Block-based programming environments make learning to program easier by allowing learners to focus on concepts rather than syntax. However, these environments offer little support when learners encounter difficulty with programming concepts themselves, especially in the absence of instructors. Textual programming environments increasingly use AI and data mining to provide intelligent, adaptive support...
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,...
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...
While formal mathematical reasoning is the cornerstone of computer science, undergraduates often fail to appreciate the value of mathematical proof in their studies. To alleviate this problem, we propose a novel pedagogy uniting logical reasoning with proofs of program correctness along with a proof assistant, ORC2A, that helps students author proofs in this domain. One of the defining features of...
Blockly is an open source library that makes it easy to add block based visual programming to an app. It is designed to be flexible and supports a large set of features for different applications. It has been used for programming animated characters on a screen; creating story scripts; controlling robots; and even generating legal documents. But Blockly is not itself a language; developers who use...
There is wide consensus that most people should have some programming capability, whether to control the Internet of Things, or to analyse the world of data around them. While some people focus on teaching conventional text-based languages like Javascript or Python, there is evidence that visual programming languages are more accessible for naive programmers. Visual programming languages fall into...
This paper studies the first computing education summer camp of its kind in Sweden. Semi-structured interviews were performed with six of the camp's instructors focusing on their teaching experiences in relation to the instructional content and the children. The instructors struggled with meeting the wide range in children's programming experience, suggesting a lack of pedagogical knowledge. The results...
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.