Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883060
M. Lee, Amy J. Ko
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.
{"title":"A demonstration of gidget, a debugging game for computing education","authors":"M. Lee, Amy J. Ko","doi":"10.1109/VLHCC.2014.6883060","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883060","url":null,"abstract":"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.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"1 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"129402612","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883046
James P. Diprose
Whilst robots are increasingly being used in scenarios that involve human-robot interaction, it is still difficult to program them to interact with humans. This is because current programming tools either require programmers to work at low abstraction levels or they lack features needed to implement particular aspects of human-robot interaction. Our goal is to create an API that is both capable of programming a wide range of human-robot interaction scenarios and is easy to use by the various users of human-robot interaction programming tools. We have taken a first step toward this API by developing an exemplar, high level API for programming social interaction and evaluating it with the Cognitive Dimensions framework. We plan to explore other aspects of human-robot interaction, including navigation and manipulation and exploring how they should be integrated with our existing primitives for programming social interaction.
{"title":"Tools for programming human robot interaction","authors":"James P. Diprose","doi":"10.1109/VLHCC.2014.6883046","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883046","url":null,"abstract":"Whilst robots are increasingly being used in scenarios that involve human-robot interaction, it is still difficult to program them to interact with humans. This is because current programming tools either require programmers to work at low abstraction levels or they lack features needed to implement particular aspects of human-robot interaction. Our goal is to create an API that is both capable of programming a wide range of human-robot interaction scenarios and is easy to use by the various users of human-robot interaction programming tools. We have taken a first step toward this API by developing an exemplar, high level API for programming social interaction and evaluating it with the Cognitive Dimensions framework. We plan to explore other aspects of human-robot interaction, including navigation and manipulation and exploring how they should be integrated with our existing primitives for programming social interaction.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"32 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130631513","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883024
Leonhard Lichtschlag, Lukas Spychalski, Jan O. Borchers
Current IDEs excel at text manipulation, but offer little support for sketching and capturing informal visual artifacts that developers create during their work on the code base. Such artifacts promise to help the examination of existing source bases and the orientation therein when linked up to corresponding code fragments. In this paper, we present a design and prototype how to use linked sketches to assist the the developer in orientating in the code base. Our evaluation with 32 users shows that testers adopt the navigation through linked sketches and refer to the spatial documentation significantly more.
{"title":"CodeGraffiti: Using hand-drawn sketches connected to code bases in navigation tasks","authors":"Leonhard Lichtschlag, Lukas Spychalski, Jan O. Borchers","doi":"10.1109/VLHCC.2014.6883024","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883024","url":null,"abstract":"Current IDEs excel at text manipulation, but offer little support for sketching and capturing informal visual artifacts that developers create during their work on the code base. Such artifacts promise to help the examination of existing source bases and the orientation therein when linked up to corresponding code fragments. In this paper, we present a design and prototype how to use linked sketches to assist the the developer in orientating in the code base. Our evaluation with 32 users shows that testers adopt the navigation through linked sketches and refer to the spatial documentation significantly more.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"109 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"128505057","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883051
M. Lee
As interest in acquiring programming skills continue to increase, many are turning to discretionary online resources to learn programming. However, researchers and educators need more data to better understand who these learners are and what their needs are to create useful and sustainable learning technologies to support them. In my work, I investigate the factors that make a learning game engaging for users, and examine if playing through the game shows measurable learning outcomes. The game will be released the public, giving us the opportunity to collect large amounts of data. This data can be shared with other researchers to improve discretionary online tools such as educational games to support large-scale computing education efforts designed for a wide-range of users.
{"title":"Gidget: An online debugging game for learning and engagement in computing education","authors":"M. Lee","doi":"10.1109/VLHCC.2014.6883051","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883051","url":null,"abstract":"As interest in acquiring programming skills continue to increase, many are turning to discretionary online resources to learn programming. However, researchers and educators need more data to better understand who these learners are and what their needs are to create useful and sustainable learning technologies to support them. In my work, I investigate the factors that make a learning game engaging for users, and examine if playing through the game shows measurable learning outcomes. The game will be released the public, giving us the opportunity to collect large amounts of data. This data can be shared with other researchers to improve discretionary online tools such as educational games to support large-scale computing education efforts designed for a wide-range of users.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"6 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131468805","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883021
Kyu Han Koh, Ashok R. Basawapatna, H. Nickerson, A. Repenning
This paper suggests a Cyberlearning tool based on a highly innovative assessment methodology that helps teachers with computer science education. Currently, there is a strong push to integrate aspects of programming and coding into the classroom environment. However, few if any tools exist that enable real-time formative assessment of in-class programming tasks. The proposed REACT (Real Time Evaluation and Assessment of Computational Thinking) system is a first step toward allowing teachers to see which high-level concepts students have mastered and which ones they are struggling with as students code in real time. REACT supports and facilitates the teaching of 21st century computing skills such as computational thinking [1] in the classroom environment.
{"title":"Real Time Assessment of Computational Thinking","authors":"Kyu Han Koh, Ashok R. Basawapatna, H. Nickerson, A. Repenning","doi":"10.1109/VLHCC.2014.6883021","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883021","url":null,"abstract":"This paper suggests a Cyberlearning tool based on a highly innovative assessment methodology that helps teachers with computer science education. Currently, there is a strong push to integrate aspects of programming and coding into the classroom environment. However, few if any tools exist that enable real-time formative assessment of in-class programming tasks. The proposed REACT (Real Time Evaluation and Assessment of Computational Thinking) system is a first step toward allowing teachers to see which high-level concepts students have mastered and which ones they are struggling with as students code in real time. REACT supports and facilitates the teaching of 21st century computing skills such as computational thinking [1] in the classroom environment.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"3 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"130593546","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883038
Sheng Chen, Martin Erwig, Karl Smeltzer
Producing precise and helpful type error messages has been a challenge for the implementations of functional programming languages for over 3 decades now. Many different approaches and methods have been tried to solve this thorny problem, but current type-error reporting tools still suffer from a lack of precision in many cases. Based on the rather obvious observation that different approaches work well in different situations, we have studied the question of whether a combination of tools that exploits their diversity can lead to improved accuracy. Specifically, we have studied Helium, a Haskell implementation particularly aimed at producing good type error messages, and Lazy Typing, an approach developed previously by us to address the premature-error-commitment problem in type checkers. By analyzing the respective strengths and weaknesses of the two approaches we were able to identify a strategy to combine both tools that could markedly improve the accuracy of reported errors. Specifically, we report an evaluation of 1069 unique ill-typed programs out of a total of 11256 Haskell programs that reveals that this combination strategy enjoys a correctness rate of 79%, which is an improvement of 22%/17% compared to using Lazy Typing/Helium alone. In addition to describing this particular case study, we will also report insights we gained into the combination of error-reporting tools in general.
{"title":"Let's hear both sides: On combining type-error reporting tools","authors":"Sheng Chen, Martin Erwig, Karl Smeltzer","doi":"10.1109/VLHCC.2014.6883038","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883038","url":null,"abstract":"Producing precise and helpful type error messages has been a challenge for the implementations of functional programming languages for over 3 decades now. Many different approaches and methods have been tried to solve this thorny problem, but current type-error reporting tools still suffer from a lack of precision in many cases. Based on the rather obvious observation that different approaches work well in different situations, we have studied the question of whether a combination of tools that exploits their diversity can lead to improved accuracy. Specifically, we have studied Helium, a Haskell implementation particularly aimed at producing good type error messages, and Lazy Typing, an approach developed previously by us to address the premature-error-commitment problem in type checkers. By analyzing the respective strengths and weaknesses of the two approaches we were able to identify a strategy to combine both tools that could markedly improve the accuracy of reported errors. Specifically, we report an evaluation of 1069 unique ill-typed programs out of a total of 11256 Haskell programs that reveals that this combination strategy enjoys a correctness rate of 79%, which is an improvement of 22%/17% compared to using Lazy Typing/Helium alone. In addition to describing this particular case study, we will also report insights we gained into the combination of error-reporting tools in general.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"7 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"123771422","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883026
Austin Z. Henley, Alka Singh, S. Fleming, M. V. Luong
Programmers spend considerable time navigating source code, and we recently proposed the Patchworks code editor to help address this problem. A prior preliminary study of Patchworks found that it significantly reduced programmer navigation time and navigation errors. In this paper, we expand on these findings by investigating the effect of various patch-arranging strategies in Patchworks. To evaluate these strategies, we ran a simulation study based on actual programmer navigation data. Our simulator results showed (1) that none of the strategies tested had a significant effect on programmer-navigation time, and (2) that navigating code using Patchworks, regardless of strategy, was significantly faster than using Eclipse.
{"title":"Helping programmers navigate code faster with Patchworks: A simulation study","authors":"Austin Z. Henley, Alka Singh, S. Fleming, M. V. Luong","doi":"10.1109/VLHCC.2014.6883026","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883026","url":null,"abstract":"Programmers spend considerable time navigating source code, and we recently proposed the Patchworks code editor to help address this problem. A prior preliminary study of Patchworks found that it significantly reduced programmer navigation time and navigation errors. In this paper, we expand on these findings by investigating the effect of various patch-arranging strategies in Patchworks. To evaluate these strategies, we ran a simulation study based on actual programmer navigation data. Our simulator results showed (1) that none of the strategies tested had a significant effect on programmer-navigation time, and (2) that navigating code using Patchworks, regardless of strategy, was significantly faster than using Eclipse.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"108 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"125578373","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883041
Nuno Macedo, Hugo Pacheco, Nuno Rocha Sousa, Alcino Cunha
Bidirectional transformations have potential applications in a vast number of computer science domains. Spread-sheets, on the other hand, are widely used for developing business applications, but their formulas are unidirectional, in the sense that their result can not be edited and propagated back to their input cells. In this paper, we interpret such formulas as a well-known class of bidirectional transformations that go by the name of lenses. Being aimed at users that are not proficient with programming languages, we devote particular attention to the seamless embedding of the proposed bidirectional mechanism with the typical workflow of spreadsheet environments, allowing users to have a fine control and understanding of the behavior of the derived backward transformations.
{"title":"Bidirectional spreadsheet formulas","authors":"Nuno Macedo, Hugo Pacheco, Nuno Rocha Sousa, Alcino Cunha","doi":"10.1109/VLHCC.2014.6883041","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883041","url":null,"abstract":"Bidirectional transformations have potential applications in a vast number of computer science domains. Spread-sheets, on the other hand, are widely used for developing business applications, but their formulas are unidirectional, in the sense that their result can not be edited and propagated back to their input cells. In this paper, we interpret such formulas as a well-known class of bidirectional transformations that go by the name of lenses. Being aimed at users that are not proficient with programming languages, we devote particular attention to the seamless embedding of the proposed bidirectional mechanism with the typical workflow of spreadsheet environments, allowing users to have a fine control and understanding of the behavior of the derived backward transformations.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"56 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"121863991","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883015
Balaji Athreya, Christopher Scaffidi
Many tools help professional programmers with the difficult problem of finding information during code maintenance. The empirical success of these tools can be explained by Information Foraging Theory (IFT) which predicts how a person seeks information by navigating through an information system based on the visual weight of information features presented to the person. Motivated by the success of these tools, we investigated the reasonable expectation that end-user programmers would likewise benefit from tools that increased the relative visual weight of important information features. We prototyped and evaluated two tools, each of which uses an existing algorithm to identify the most important lines of code. One prototype highlights important lines of code; the other prototype hides unimportant lines of code. An empirical study revealed that increasing the relative weight of important information features by highlighting did positively impact the amount of information foraged and the rate of information gained; on the other hand, decreasing the relative weight of unimportant information features by hiding had a modest negative impact. These results reveal opportunities for enhancing existing IFT-based foraging models and applying them to design more effective end-user programming tools for coding, debugging, and code reuse.
{"title":"Towards aiding within-patch information foraging by end-user programmers","authors":"Balaji Athreya, Christopher Scaffidi","doi":"10.1109/VLHCC.2014.6883015","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883015","url":null,"abstract":"Many tools help professional programmers with the difficult problem of finding information during code maintenance. The empirical success of these tools can be explained by Information Foraging Theory (IFT) which predicts how a person seeks information by navigating through an information system based on the visual weight of information features presented to the person. Motivated by the success of these tools, we investigated the reasonable expectation that end-user programmers would likewise benefit from tools that increased the relative visual weight of important information features. We prototyped and evaluated two tools, each of which uses an existing algorithm to identify the most important lines of code. One prototype highlights important lines of code; the other prototype hides unimportant lines of code. An empirical study revealed that increasing the relative weight of important information features by highlighting did positively impact the amount of information foraged and the rate of information gained; on the other hand, decreasing the relative weight of unimportant information features by hiding had a modest negative impact. These results reveal opportunities for enhancing existing IFT-based foraging models and applying them to design more effective end-user programming tools for coding, debugging, and code reuse.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"23 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"124974488","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}
Pub Date : 2014-08-28DOI: 10.1109/VLHCC.2014.6883068
Martins Zviedris, Renars Liepins
Researchers have developed different visual query languages to improve end-user interaction with data. Still, none of these languages have become a de facto standard. We have developed yet another diagrammatic query language, but we have made a step forward in usability by using crowdsourcing user studies to identify problems in the readability of the developed language. We used the study results to improve the developed language and measured the readability improvements of the changes.
{"title":"Readability of a diagrammatic query language","authors":"Martins Zviedris, Renars Liepins","doi":"10.1109/VLHCC.2014.6883068","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883068","url":null,"abstract":"Researchers have developed different visual query languages to improve end-user interaction with data. Still, none of these languages have become a de facto standard. We have developed yet another diagrammatic query language, but we have made a step forward in usability by using crowdsourcing user studies to identify problems in the readability of the developed language. We used the study results to improve the developed language and measured the readability improvements of the changes.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"77 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-08-28","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"114809222","PeriodicalName":null,"FirstCategoryId":null,"ListUrlMain":null,"RegionNum":0,"RegionCategory":"","ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":"","EPubDate":null,"PubModel":null,"JCR":null,"JCRName":null,"Score":null,"Total":0}