首页 > 最新文献

2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)最新文献

英文 中文
A directory comparison and manipulation tool 一个目录比较和操作工具
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883061
Rainer Lutz, Daniel Rausch, Fabian Beck, S. Diehl
Nowadays file browsers represent a common means to organize hierarchically structured data provided by a file system. However, when it comes to comparing and merging different directory structures, file browsers often do not explicitly support users to accomplish such a task. In this paper, we present a special-purpose approach focusing on the manipulation of directory structures in the context of comparison. To this end, two directory structures including subdirectories and files are displayed side by side while links between them indicate similar files. Drag-and-drop operations allow the users for interactively manipulating or merging both directory structures.
现在,文件浏览器代表了一种组织文件系统提供的分层结构数据的常用方法。然而,当涉及到比较和合并不同的目录结构时,文件浏览器通常不显式地支持用户完成这样的任务。在本文中,我们提出了一种特殊用途的方法,专注于比较上下文中目录结构的操作。为此,两个目录结构(包括子目录和文件)并排显示,而它们之间的链接表示类似的文件。拖放操作允许用户交互地操作或合并这两个目录结构。
{"title":"A directory comparison and manipulation tool","authors":"Rainer Lutz, Daniel Rausch, Fabian Beck, S. Diehl","doi":"10.1109/VLHCC.2014.6883061","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883061","url":null,"abstract":"Nowadays file browsers represent a common means to organize hierarchically structured data provided by a file system. However, when it comes to comparing and merging different directory structures, file browsers often do not explicitly support users to accomplish such a task. In this paper, we present a special-purpose approach focusing on the manipulation of directory structures in the context of comparison. To this end, two directory structures including subdirectories and files are displayed side by side while links between them indicate similar files. Drag-and-drop operations allow the users for interactively manipulating or merging both directory structures.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"43 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122709007","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}
引用次数: 0
Towards crowdsourced large-scale feedback for novice programmers 面向新手程序员的众包大规模反馈
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883049
Michelle Ichinco
I propose a crowdsourced large-scale feedback system for novice programmers powered by experienced programmers, or code reviewers (who I will refer to as “reviewers”). Reviewers have two jobs: making suggestions to improve novice programs and authoring rules that generalize when a program should receive their suggestion. A rule is a heuristic program that can be run on a novice program to determine whether the system should present the suggestion to the novice programmer. For example, imagine a novice program that contains a certain method call repeated three times in a row. A reviewer might suggest to improve the program by replacing the three identical method calls with a loop. The reviewer would then author a rule that checks whether code in other novice programs also contains repeated lines of code. If the rule determines that a novice program does have repeated code, the system would present the suggestion to the novice programmer to use a loop by showing an example of correct loop usage.
我建议为新手程序员建立一个大规模的众包反馈系统,由经验丰富的程序员或代码审查者(我将其称为“审查者”)提供支持。评审员有两项工作:提出建议以改进新手程序,并制定规则,概括程序何时应该接受他们的建议。规则是一种启发式程序,可以在新手程序上运行,以确定系统是否应该将建议呈现给新手程序员。例如,假设一个新手程序包含一个连续重复三次的方法调用。审稿人可能会建议用一个循环代替三个相同的方法调用来改进程序。然后,审稿人将编写一个规则,检查其他新手程序中的代码是否也包含重复的代码行。如果规则确定新手程序确实有重复的代码,系统将通过显示正确循环用法的示例,向新手程序员提出使用循环的建议。
{"title":"Towards crowdsourced large-scale feedback for novice programmers","authors":"Michelle Ichinco","doi":"10.1109/VLHCC.2014.6883049","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883049","url":null,"abstract":"I propose a crowdsourced large-scale feedback system for novice programmers powered by experienced programmers, or code reviewers (who I will refer to as “reviewers”). Reviewers have two jobs: making suggestions to improve novice programs and authoring rules that generalize when a program should receive their suggestion. A rule is a heuristic program that can be run on a novice program to determine whether the system should present the suggestion to the novice programmer. For example, imagine a novice program that contains a certain method call repeated three times in a row. A reviewer might suggest to improve the program by replacing the three identical method calls with a loop. The reviewer would then author a rule that checks whether code in other novice programs also contains repeated lines of code. If the rule determines that a novice program does have repeated code, the system would present the suggestion to the novice programmer to use a loop by showing an example of correct loop usage.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"12 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"131599649","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}
引用次数: 4
Improving source code navigation with patchworks 使用补丁改进源代码导航
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883048
Austin Z. Henley
Programmers spend a considerable amount of time navigating among many code fragments that may be spread across hundreds or even thousands of files. For example, one study found that programmers spent 35% of their time navigating. Another study showed that 50% of programmers' time was spent foraging for information. The author's work aims to increase programmer productivity through the design of new code editors and tools to speed up source code navigation. It proposes a new tool concept known as Patchworks. In particular, Patchworks aims to allow programmers to conveniently juxtapose code, to efficiently navigate recently visited code fragments, to significantly reduce scrolling, and to reduce the time spent arranging code.
程序员花费相当多的时间在可能分布在数百甚至数千个文件中的许多代码片段中导航。例如,一项研究发现程序员花了35%的时间在导航上。另一项研究表明,程序员50%的时间都花在了搜集信息上。作者的工作旨在通过设计新的代码编辑器和工具来加快源代码导航,从而提高程序员的工作效率。它提出了一个名为Patchworks的新工具概念。特别是,Patchworks旨在允许程序员方便地并置代码,有效地导航最近访问的代码片段,显著减少滚动,并减少花费在排列代码上的时间。
{"title":"Improving source code navigation with patchworks","authors":"Austin Z. Henley","doi":"10.1109/VLHCC.2014.6883048","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883048","url":null,"abstract":"Programmers spend a considerable amount of time navigating among many code fragments that may be spread across hundreds or even thousands of files. For example, one study found that programmers spent 35% of their time navigating. Another study showed that 50% of programmers' time was spent foraging for information. The author's work aims to increase programmer productivity through the design of new code editors and tools to speed up source code navigation. It proposes a new tool concept known as Patchworks. In particular, Patchworks aims to allow programmers to conveniently juxtapose code, to efficiently navigate recently visited code fragments, to significantly reduce scrolling, and to reduce the time spent arranging code.","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-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"126950453","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}
引用次数: 0
Clint: A direct manipulation tool for parallelizing compute-intensive program parts 用于并行化计算密集型程序部分的直接操作工具
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883031
O. Zinenko, Stéphane Huot, C. Bastoul
Parallel systems are now omnipresent and their effective use requires significant effort and expertise from software developers. Multitude of languages and libraries offer convenient ways to express parallelism, but fall short at helping programmers to find parallelism in existing programs. To address this issue, we introduce Clint, a direct manipulation tool aimed to ease both the extraction and the expression of parallelism. Clint builds on polyhedral representation of programs to convey dynamic behavior, to perform automatic data dependence analysis and to ensure code correctness. It can be used to rework and improve automatically generated optimizations and to make manual program transformation faster, safer and more efficient.
并行系统现在无处不在,它们的有效使用需要软件开发人员的大量努力和专业知识。大量的语言和库提供了方便的方式来表达并行性,但在帮助程序员在现有程序中找到并行性方面却有所欠缺。为了解决这个问题,我们引入了Clint,一个直接操作工具,旨在简化并行性的提取和表达。Clint基于程序的多面体表示来传达动态行为,执行自动数据依赖性分析并确保代码的正确性。它可用于返工和改进自动生成的优化,并使手动程序转换更快、更安全、更有效。
{"title":"Clint: A direct manipulation tool for parallelizing compute-intensive program parts","authors":"O. Zinenko, Stéphane Huot, C. Bastoul","doi":"10.1109/VLHCC.2014.6883031","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883031","url":null,"abstract":"Parallel systems are now omnipresent and their effective use requires significant effort and expertise from software developers. Multitude of languages and libraries offer convenient ways to express parallelism, but fall short at helping programmers to find parallelism in existing programs. To address this issue, we introduce Clint, a direct manipulation tool aimed to ease both the extraction and the expression of parallelism. Clint builds on polyhedral representation of programs to convey dynamic behavior, to perform automatic data dependence analysis and to ensure code correctness. It can be used to rework and improve automatically generated optimizations and to make manual program transformation faster, safer and more efficient.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"49 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"132553303","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}
引用次数: 14
Get your directories right: From hierarchy visualization to hierarchy manipulation 正确设置目录:从层次结构可视化到层次结构操作
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883017
Rainer Lutz, Daniel Rausch, Fabian Beck, S. Diehl
Visual comparison of hierarchies such as directory structures is often considered a passive analysis task. Thus, insights gained from the visualization need to be recorded and applied afterwards. In contrast in this paper, we propose and explore an active visual analytics approach focusing on the manipulation of directory structures in the context of comparison. Two directories including subdirectories and files are presented side by side while links between the two representations connect matching files. Embedded into an elaborate interaction concept, drag-and-drop operations allow the users for interactively modifying the directories. We explored different application scenarios of the approach in a qualitative user study.
层次结构(如目录结构)的可视化比较通常被认为是被动的分析任务。因此,从可视化中获得的见解需要记录下来并在之后应用。相比之下,在本文中,我们提出并探索了一种主动的视觉分析方法,专注于比较背景下目录结构的操作。包含子目录和文件的两个目录并排显示,而两个表示之间的链接连接匹配的文件。通过将拖放操作嵌入到复杂的交互概念中,用户可以交互式地修改目录。我们在定性用户研究中探索了该方法的不同应用场景。
{"title":"Get your directories right: From hierarchy visualization to hierarchy manipulation","authors":"Rainer Lutz, Daniel Rausch, Fabian Beck, S. Diehl","doi":"10.1109/VLHCC.2014.6883017","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883017","url":null,"abstract":"Visual comparison of hierarchies such as directory structures is often considered a passive analysis task. Thus, insights gained from the visualization need to be recorded and applied afterwards. In contrast in this paper, we propose and explore an active visual analytics approach focusing on the manipulation of directory structures in the context of comparison. Two directories including subdirectories and files are presented side by side while links between the two representations connect matching files. Embedded into an elaborate interaction concept, drag-and-drop operations allow the users for interactively modifying the directories. We explored different application scenarios of the approach in a qualitative user study.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"4 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127633512","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}
引用次数: 8
A longitudinal study of programmers' backtracking 程序员回溯的纵向研究
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883030
Youngseok Yoon, B. Myers
Programming often involves reverting source code to an earlier state, which we call backtracking. We performed a longitudinal study of programmers' backtracking, analyzing 1,460 hours of fine-grained code editing logs collected from 21 people. Our analysis method keeps track of the change history of each abstract syntax tree node and looks for backtracking instances within each node. Using this method, we detected a total of 15,095 backtracking instances, which gives an average backtracking rate of 10.3/hour. The size of backtracking varied con-siderably, ranging from a single character to thousands of char-acters. 34% of the backtracking was performed by manually deleting or typing the desired code, and 9.5% of all backtracking was selective, meaning that it could not have been performed using the conventional undo command present in the IDE. The study results show that programmers need better backtracking tools, and also provide design implications for such tools.
编程通常涉及到将源代码恢复到早期状态,我们称之为回溯。我们对程序员的回溯进行了纵向研究,分析了从21个人那里收集的1460小时的细粒度代码编辑日志。我们的分析方法跟踪每个抽象语法树节点的更改历史,并在每个节点中查找回溯实例。使用这种方法,我们总共检测到15095个回溯实例,平均回溯速率为10.3/小时。回溯的大小变化很大,从单个字符到数千个字符不等。34%的回溯是通过手动删除或输入所需的代码来执行的,9.5%的回溯是选择性的,这意味着它不能使用IDE中存在的传统撤消命令来执行。研究结果表明,程序员需要更好的回溯工具,并为此类工具提供了设计启示。
{"title":"A longitudinal study of programmers' backtracking","authors":"Youngseok Yoon, B. Myers","doi":"10.1109/VLHCC.2014.6883030","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883030","url":null,"abstract":"Programming often involves reverting source code to an earlier state, which we call backtracking. We performed a longitudinal study of programmers' backtracking, analyzing 1,460 hours of fine-grained code editing logs collected from 21 people. Our analysis method keeps track of the change history of each abstract syntax tree node and looks for backtracking instances within each node. Using this method, we detected a total of 15,095 backtracking instances, which gives an average backtracking rate of 10.3/hour. The size of backtracking varied con-siderably, ranging from a single character to thousands of char-acters. 34% of the backtracking was performed by manually deleting or typing the desired code, and 9.5% of all backtracking was selective, meaning that it could not have been performed using the conventional undo command present in the IDE. The study results show that programmers need better backtracking tools, and also provide design implications for such tools.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"19 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"115102783","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}
引用次数: 29
ES-SQL: Visually querying spreadsheets ES-SQL:可视化地查询电子表格
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883056
Jácome Cunha, J. Fernandes, J. Mendes, Rui Pereira, J. Saraiva
This paper presents ES-SQL, an embedded tool for visually constructing queries over spreadsheets. This tool provides an expressive query environment which has knowledge on the business logic of spreadsheets, and by this knowledge it assists the user in defining the intended queries.
本文介绍ES-SQL,一种用于可视地在电子表格上构造查询的嵌入式工具。该工具提供了一个具有表达能力的查询环境,该环境了解电子表格的业务逻辑,并通过这些知识帮助用户定义预期的查询。
{"title":"ES-SQL: Visually querying spreadsheets","authors":"Jácome Cunha, J. Fernandes, J. Mendes, Rui Pereira, J. Saraiva","doi":"10.1109/VLHCC.2014.6883056","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883056","url":null,"abstract":"This paper presents ES-SQL, an embedded tool for visually constructing queries over spreadsheets. This tool provides an expressive query environment which has knowledge on the business logic of spreadsheets, and by this knowledge it assists the user in defining the intended queries.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127171974","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}
引用次数: 2
A notation for non-linear program edits 非线性程序编辑的符号
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883057
Martin Erwig, Karl Smeltzer, Keying Xu
We present a visual notation to support the understanding and reasoning about program edits. The graph-based representation directly supports a number of editing operations beyond those offered by a typical, linear program-edit model and makes obvious otherwise hidden states the code can reach through selectively undoing or redoing changes.
我们提出了一个可视化的符号来支持对程序编辑的理解和推理。基于图形的表示直接支持许多编辑操作,而不是典型的线性程序编辑模型所提供的操作,并且通过选择性地撤消或重做更改,使代码可以达到明显的隐藏状态。
{"title":"A notation for non-linear program edits","authors":"Martin Erwig, Karl Smeltzer, Keying Xu","doi":"10.1109/VLHCC.2014.6883057","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883057","url":null,"abstract":"We present a visual notation to support the understanding and reasoning about program edits. The graph-based representation directly supports a number of editing operations beyond those offered by a typical, linear program-edit model and makes obvious otherwise hidden states the code can reach through selectively undoing or redoing changes.","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-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"134224361","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}
引用次数: 1
A spreadsheet model for using web service data 用于使用web服务数据的电子表格模型
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883042
K. Chang, B. Myers
Web services offer a more reliable and efficient way to access online data than scraping web pages. However, web service data are often in complex hierarchical structures that make it difficult for people to extract the desired parts or to perform any further data manipulation without writing a significant amount of surprisingly intricate code. In this paper, we present Gneiss, a tool that extends the familiar spreadsheet metaphor to support working with data returned from web services. Gneiss allows users to extract the desired fields in web service data using drag-and-drop, and refine the results through spreadsheet formulas, along with sorting and filtering the data. Hierarchical data are stored as nested tables in the spreadsheet and can be flattened for future operations. Data flow is two-way between the spreadsheet and the web services, enabling people to easily make a new request by modifying spreadsheet cells. In addition, using the dependency between spreadsheet cells, our tool is able to create parallel-running data extractions based on the user's sequential demonstration. We use a set of examples to demonstrate our tool's ability to create fast and reusable data extraction and manipulation programs that work with complex web service data.
Web服务提供了一种比抓取网页更可靠、更有效的方式来访问在线数据。然而,web服务数据通常处于复杂的层次结构中,这使得人们很难提取所需的部分或执行任何进一步的数据操作,而不编写大量令人惊讶的复杂代码。在本文中,我们介绍了Gneiss,这是一种工具,它扩展了熟悉的电子表格比喻,以支持处理从web服务返回的数据。Gneiss允许用户使用拖放方式从web服务数据中提取所需字段,并通过电子表格公式改进结果,同时对数据进行排序和过滤。分层数据以嵌套表的形式存储在电子表格中,可以对其进行平面化,以便将来进行操作。数据流在电子表格和web服务之间是双向的,使人们能够通过修改电子表格单元格轻松地发出新的请求。此外,使用电子表格单元格之间的依赖关系,我们的工具能够基于用户的顺序演示创建并行运行的数据提取。我们使用一组示例来演示我们的工具创建快速和可重用的数据提取和操作程序的能力,这些程序可以处理复杂的web服务数据。
{"title":"A spreadsheet model for using web service data","authors":"K. Chang, B. Myers","doi":"10.1109/VLHCC.2014.6883042","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883042","url":null,"abstract":"Web services offer a more reliable and efficient way to access online data than scraping web pages. However, web service data are often in complex hierarchical structures that make it difficult for people to extract the desired parts or to perform any further data manipulation without writing a significant amount of surprisingly intricate code. In this paper, we present Gneiss, a tool that extends the familiar spreadsheet metaphor to support working with data returned from web services. Gneiss allows users to extract the desired fields in web service data using drag-and-drop, and refine the results through spreadsheet formulas, along with sorting and filtering the data. Hierarchical data are stored as nested tables in the spreadsheet and can be flattened for future operations. Data flow is two-way between the spreadsheet and the web services, enabling people to easily make a new request by modifying spreadsheet cells. In addition, using the dependency between spreadsheet cells, our tool is able to create parallel-running data extractions based on the user's sequential demonstration. We use a set of examples to demonstrate our tool's ability to create fast and reusable data extraction and manipulation programs that work with complex web service data.","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"13 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"122354469","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}
引用次数: 16
A direct manipulation language for explaining algorithms 用于解释算法的直接操作语言
Pub Date : 2014-07-01 DOI: 10.1109/VLHCC.2014.6883020
J. Scott, Philip J. Guo, Randall Davis
Instructors typically explain algorithms in computer science by tracing their behavior, often on blackboards, sometimes with algorithm visualizations. Using blackboards can be tedious because they do not facilitate manipulation of the drawing, while visualizations often operate at the wrong level of abstraction or must be laboriously hand-coded for each algorithm. In response, we present a direct manipulation (DM) language for explaining algorithms by manipulating visualized data structures. The language maps DM gestures onto primitive program behaviors that occur in commonly taught algorithms. We performed an initial evaluation of the DM language on teaching assistants of an undergraduate algorithms class, who found the language easier to use and more helpful for explaining algorithms than a standard drawing application (GIMP).
在计算机科学中,教师通常通过跟踪算法的行为来解释算法,通常是在黑板上,有时还会使用算法可视化。使用黑板可能很乏味,因为它们不利于绘图操作,而可视化通常在错误的抽象级别上操作,或者必须为每个算法辛苦地手工编码。作为回应,我们提出了一种直接操作(DM)语言,通过操作可视化数据结构来解释算法。该语言将DM手势映射到通常教授的算法中出现的原始程序行为。我们对一个本科算法班的助教进行了DM语言的初步评估,他们发现该语言比标准绘图应用程序(GIMP)更容易使用,更有助于解释算法。
{"title":"A direct manipulation language for explaining algorithms","authors":"J. Scott, Philip J. Guo, Randall Davis","doi":"10.1109/VLHCC.2014.6883020","DOIUrl":"https://doi.org/10.1109/VLHCC.2014.6883020","url":null,"abstract":"Instructors typically explain algorithms in computer science by tracing their behavior, often on blackboards, sometimes with algorithm visualizations. Using blackboards can be tedious because they do not facilitate manipulation of the drawing, while visualizations often operate at the wrong level of abstraction or must be laboriously hand-coded for each algorithm. In response, we present a direct manipulation (DM) language for explaining algorithms by manipulating visualized data structures. The language maps DM gestures onto primitive program behaviors that occur in commonly taught algorithms. We performed an initial evaluation of the DM language on teaching assistants of an undergraduate algorithms class, who found the language easier to use and more helpful for explaining algorithms than a standard drawing application (GIMP).","PeriodicalId":165006,"journal":{"name":"2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)","volume":"103 1","pages":"0"},"PeriodicalIF":0.0,"publicationDate":"2014-07-01","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":null,"resultStr":null,"platform":"Semanticscholar","paperid":"127144340","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}
引用次数: 3
期刊
2014 IEEE Symposium on Visual Languages and Human-Centric Computing (VL/HCC)
全部 Acc. Chem. Res. ACS Applied Bio Materials ACS Appl. Electron. Mater. ACS Appl. Energy Mater. ACS Appl. Mater. Interfaces ACS Appl. Nano Mater. ACS Appl. Polym. Mater. ACS BIOMATER-SCI ENG ACS Catal. ACS Cent. Sci. ACS Chem. Biol. ACS Chemical Health & Safety ACS Chem. Neurosci. ACS Comb. Sci. ACS Earth Space Chem. ACS Energy Lett. ACS Infect. Dis. ACS Macro Lett. ACS Mater. Lett. ACS Med. Chem. Lett. ACS Nano ACS Omega ACS Photonics ACS Sens. ACS Sustainable Chem. Eng. ACS Synth. Biol. Anal. Chem. BIOCHEMISTRY-US Bioconjugate Chem. BIOMACROMOLECULES Chem. Res. Toxicol. Chem. Rev. Chem. Mater. CRYST GROWTH DES ENERG FUEL Environ. Sci. Technol. Environ. Sci. Technol. Lett. Eur. J. Inorg. Chem. IND ENG CHEM RES Inorg. Chem. J. Agric. Food. Chem. J. Chem. Eng. Data J. Chem. Educ. J. Chem. Inf. Model. J. Chem. Theory Comput. J. Med. Chem. J. Nat. Prod. J PROTEOME RES J. Am. Chem. Soc. LANGMUIR MACROMOLECULES Mol. Pharmaceutics Nano Lett. Org. Lett. ORG PROCESS RES DEV ORGANOMETALLICS J. Org. Chem. J. Phys. Chem. J. Phys. Chem. A J. Phys. Chem. B J. Phys. Chem. C J. Phys. Chem. Lett. Analyst Anal. Methods Biomater. Sci. Catal. Sci. Technol. Chem. Commun. Chem. Soc. Rev. CHEM EDUC RES PRACT CRYSTENGCOMM Dalton Trans. Energy Environ. Sci. ENVIRON SCI-NANO ENVIRON SCI-PROC IMP ENVIRON SCI-WAT RES Faraday Discuss. Food Funct. Green Chem. Inorg. Chem. Front. Integr. Biol. J. Anal. At. Spectrom. J. Mater. Chem. A J. Mater. Chem. B J. Mater. Chem. C Lab Chip Mater. Chem. Front. Mater. Horiz. MEDCHEMCOMM Metallomics Mol. Biosyst. Mol. Syst. Des. Eng. Nanoscale Nanoscale Horiz. Nat. Prod. Rep. New J. Chem. Org. Biomol. Chem. Org. Chem. Front. PHOTOCH PHOTOBIO SCI PCCP Polym. Chem.
×
引用
GB/T 7714-2015
复制
MLA
复制
APA
复制
导出至
BibTeX EndNote RefMan NoteFirst NoteExpress
×
0
微信
客服QQ
Book学术公众号 扫码关注我们
反馈
×
意见反馈
请填写您的意见或建议
请填写您的手机或邮箱
×
提示
您的信息不完整,为了账户安全,请先补充。
现在去补充
×
提示
您因"违规操作"
具体请查看互助需知
我知道了
×
提示
现在去查看 取消
×
提示
确定
Book学术官方微信
Book学术文献互助
Book学术文献互助群
群 号:481959085
Book学术
文献互助 智能选刊 最新文献 互助须知 联系我们:info@booksci.cn
Book学术提供免费学术资源搜索服务,方便国内外学者检索中英文文献。致力于提供最便捷和优质的服务体验。
Copyright © 2023 Book学术 All rights reserved.
ghs 京公网安备 11010802042870号 京ICP备2023020795号-1