Workshop PAINT 2022 – Author Index |
Contents -
Abstracts -
Authors
|
Anslow, Craig |
PAINT '22: "Blocks, Blocks, and More Blocks-Based ..."
Blocks, Blocks, and More Blocks-Based Programming
Ben Selwyn-Smith, Craig Anslow, and Michael Homer (Oracle Labs, Australia; Victoria University of Wellington, New Zealand) Blocks-based programming is a common way to teach novices how to program. However, there are many block-based languages to choose from. This paper reviews Block-Based Programming Languages (BBPLs), takes a detailed look at a number of existing BBPLs including their features and comparing and contrasting these languages. Finally, through a number of research questions, this paper evaluates the current state of the art and points out areas for potential further research. @InProceedings{PAINT22p35, author = {Ben Selwyn-Smith and Craig Anslow and Michael Homer}, title = {Blocks, Blocks, and More Blocks-Based Programming}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {35--47}, doi = {10.1145/3563836.3568726}, year = {2022}, } Publisher's Version |
|
Beckmann, Tom |
PAINT '22: "Toward a VR-Native Live Programming ..."
Toward a VR-Native Live Programming Environment
Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, and Robert Hirschfeld (University of Potsdam, Germany; Hasso Plattner Institute, Germany) Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable. @InProceedings{PAINT22p26, author = {Leonard Geier and Clemens Tiedt and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld}, title = {Toward a VR-Native Live Programming Environment}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {26--34}, doi = {10.1145/3563836.3568725}, year = {2022}, } Publisher's Version |
|
Calò, Tommaso |
PAINT '22: "Creating Dynamic Prototypes ..."
Creating Dynamic Prototypes from Web Page Sketches
Tommaso Calò and Luigi De Russis (Politecnico di Torino, Italy) While web designers draw user interface sketches as a first step toward creating a Web application, transforming those sketches into a prototypical coded interface is still a manual and time-consuming task. Recently, researchers focused on easing this part of the design process by applying machine learning techniques to generate code from sketches automatically. These methods effectively convert a sketch into a skeleton structure of the web page but are not designed to deal with dynamic behaviors of the page, such as links, buttons, or dropdowns menu. Indeed, to our knowledge, they only allow the creation of static prototypes. In this paper, we move the first steps to support the creation of dynamic prototypes from sketches. We introduce both a set of symbols that a designer can use on their sketches to model dynamic behaviors and the related implementation to generate dynamic prototypes. Finally, we test our method on a few sketched components to assess the suitability of the approach. @InProceedings{PAINT22p20, author = {Tommaso Calò and Luigi De Russis}, title = {Creating Dynamic Prototypes from Web Page Sketches}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {20--25}, doi = {10.1145/3563836.3568724}, year = {2022}, } Publisher's Version |
|
De Meo, Alexis |
PAINT '22: "Domain-Specific Visual Language ..."
Domain-Specific Visual Language for Data Engineering Quality
Alexis De Meo and Michael Homer (Trove, New Zealand; Victoria University of Wellington, New Zealand) Data engineering pipelines process large amounts of information, and ensuring that the quality and integrity of the data is maintained throughout is critical for technical, business, and social reasons. Conventional data quality assurance approaches require a large amount of fine-grained testing code, which is laborious, easy to get out of sync, and inscrutable to non-technical stakeholders. An executable higher-level visual approach to expressing quality requirements can serve as a shared representation of these constraints and their implications for all parties, eliminating repetition while increasing accessibility and maintainability. We present a visual programming language for expressing data quality requirements within a pipeline declaratively, structured as a diagram of compositional data flow, transformation, and validation steps. @InProceedings{PAINT22p48, author = {Alexis De Meo and Michael Homer}, title = {Domain-Specific Visual Language for Data Engineering Quality}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {48--56}, doi = {10.1145/3563836.3568727}, year = {2022}, } Publisher's Version |
|
De Russis, Luigi |
PAINT '22: "Creating Dynamic Prototypes ..."
Creating Dynamic Prototypes from Web Page Sketches
Tommaso Calò and Luigi De Russis (Politecnico di Torino, Italy) While web designers draw user interface sketches as a first step toward creating a Web application, transforming those sketches into a prototypical coded interface is still a manual and time-consuming task. Recently, researchers focused on easing this part of the design process by applying machine learning techniques to generate code from sketches automatically. These methods effectively convert a sketch into a skeleton structure of the web page but are not designed to deal with dynamic behaviors of the page, such as links, buttons, or dropdowns menu. Indeed, to our knowledge, they only allow the creation of static prototypes. In this paper, we move the first steps to support the creation of dynamic prototypes from sketches. We introduce both a set of symbols that a designer can use on their sketches to model dynamic behaviors and the related implementation to generate dynamic prototypes. Finally, we test our method on a few sketched components to assess the suitability of the approach. @InProceedings{PAINT22p20, author = {Tommaso Calò and Luigi De Russis}, title = {Creating Dynamic Prototypes from Web Page Sketches}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {20--25}, doi = {10.1145/3563836.3568724}, year = {2022}, } Publisher's Version |
|
Díaz Castillo, Ana María |
PAINT '22: "Suppose You Had Blocks within ..."
Suppose You Had Blocks within a Notebook
Mauricio Verano Merino, Juan Pablo Sáenz, and Ana María Díaz Castillo (Vrije Universiteit Amsterdam, Netherlands; Politecnico di Torino, Italy; Teach for All, Colombia) Computational notebooks have been gaining prominence as a development environment suitable for non-experienced developers. However, it requires proficiency in writing syntactically and semantically correct code. In this article, we propose integrating a block-based approach into computational notebooks to prevent syntactical errors and ease the non-expert developers' adoption. Furthermore, we rely on two tools previously implemented (Bacatá and Kogi) to (i) create a computational notebook for Domain-Specific Languages and (ii) generate a block-based representation upon the language definition. Consequently, our approach does not exclusively focus on integrating a block-based environment into computational notebooks but on enabling the creation and integration of domain-specific block-based environments into notebooks. Future work concerns the evaluation of our proposal through a user study. @InProceedings{PAINT22p57, author = {Mauricio Verano Merino and Juan Pablo Sáenz and Ana María Díaz Castillo}, title = {Suppose You Had Blocks within a Notebook}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {57--62}, doi = {10.1145/3563836.3568728}, year = {2022}, } Publisher's Version |
|
Edwards, Jonathan |
PAINT '22: "Interaction vs. Abstraction: ..."
Interaction vs. Abstraction: Managed Copy and Paste
Jonathan Edwards and Tomas Petricek (Independent, USA; Charles University, Czechia) Abstraction is at the core of programming, but it has a cost. We exhort programmers to use proper abstractions like functions but they often find it easier to copy & paste instead. Copy & paste is roundly criticized because subsequent changes to copies may have to be manually reconciled, which is easily overlooked and easily mistaken. It seems there is a conflict between the generality and reusability of abstraction with the simplicity of copying and modifying code. We suggest that this conflict arises because we are still thinking in terms of paper-based notations. Indeed the term “copy & paste” originates from the practice of physically cutting and gluing slips of paper. But an interactive programming environment can free us from the limitations of paper. We propose managed copy & paste, in which the programming environment records copy & paste operations, along with structural edit operations, so that it can track the differences between copies and reconcile them on command. These capabilities mitigate the aforementioned problems of copy & paste, allowing abstraction to be deferred or reduced. Managed copy & paste resembles version control as in git, except that it works not between versions of a program but between copies within the program. It is based on a new theory of structural editing and version control that offers precise differencing based on edit history rather than the heuristic differencing of textual version control. We informally explain this theory and demonstrate a prototype implementation of a data science notebook. Lastly, we suggest further mechanisms of gradual abstraction that could be provided by the programming environment to lessen the cognitive load of programming. @InProceedings{PAINT22p11, author = {Jonathan Edwards and Tomas Petricek}, title = {Interaction vs. Abstraction: Managed Copy and Paste}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {11--19}, doi = {10.1145/3563836.3568723}, year = {2022}, } Publisher's Version |
|
Geier, Leonard |
PAINT '22: "Toward a VR-Native Live Programming ..."
Toward a VR-Native Live Programming Environment
Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, and Robert Hirschfeld (University of Potsdam, Germany; Hasso Plattner Institute, Germany) Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable. @InProceedings{PAINT22p26, author = {Leonard Geier and Clemens Tiedt and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld}, title = {Toward a VR-Native Live Programming Environment}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {26--34}, doi = {10.1145/3563836.3568725}, year = {2022}, } Publisher's Version |
|
Hirschfeld, Robert |
PAINT '22: "Toward a VR-Native Live Programming ..."
Toward a VR-Native Live Programming Environment
Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, and Robert Hirschfeld (University of Potsdam, Germany; Hasso Plattner Institute, Germany) Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable. @InProceedings{PAINT22p26, author = {Leonard Geier and Clemens Tiedt and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld}, title = {Toward a VR-Native Live Programming Environment}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {26--34}, doi = {10.1145/3563836.3568725}, year = {2022}, } Publisher's Version |
|
Homer, Michael |
PAINT '22: "Blocks, Blocks, and More Blocks-Based ..."
Blocks, Blocks, and More Blocks-Based Programming
Ben Selwyn-Smith, Craig Anslow, and Michael Homer (Oracle Labs, Australia; Victoria University of Wellington, New Zealand) Blocks-based programming is a common way to teach novices how to program. However, there are many block-based languages to choose from. This paper reviews Block-Based Programming Languages (BBPLs), takes a detailed look at a number of existing BBPLs including their features and comparing and contrasting these languages. Finally, through a number of research questions, this paper evaluates the current state of the art and points out areas for potential further research. @InProceedings{PAINT22p35, author = {Ben Selwyn-Smith and Craig Anslow and Michael Homer}, title = {Blocks, Blocks, and More Blocks-Based Programming}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {35--47}, doi = {10.1145/3563836.3568726}, year = {2022}, } Publisher's Version PAINT '22: "Domain-Specific Visual Language ..." Domain-Specific Visual Language for Data Engineering Quality Alexis De Meo and Michael Homer (Trove, New Zealand; Victoria University of Wellington, New Zealand) Data engineering pipelines process large amounts of information, and ensuring that the quality and integrity of the data is maintained throughout is critical for technical, business, and social reasons. Conventional data quality assurance approaches require a large amount of fine-grained testing code, which is laborious, easy to get out of sync, and inscrutable to non-technical stakeholders. An executable higher-level visual approach to expressing quality requirements can serve as a shared representation of these constraints and their implications for all parties, eliminating repetition while increasing accessibility and maintainability. We present a visual programming language for expressing data quality requirements within a pipeline declaratively, structured as a diagram of compositional data flow, transformation, and validation steps. @InProceedings{PAINT22p48, author = {Alexis De Meo and Michael Homer}, title = {Domain-Specific Visual Language for Data Engineering Quality}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {48--56}, doi = {10.1145/3563836.3568727}, year = {2022}, } Publisher's Version PAINT '22: "Interleaved 2D Notation for ..." Interleaved 2D Notation for Concatenative Programming Michael Homer (Victoria University of Wellington, New Zealand) Concatenative languages use implicit argument passing to provide a concise expression of programs comprising many composed transformation functions. However, they are sometimes regarded as "write-only" languages because understanding code requires mentally simulating the manipulations of the argument stack to identify where values are produced and consumed. All of this difficulty can be avoided with a notation that presents both the functions and their operands simultaneously, which can also ease editing by making available values and functions directly apparent. This paper presents a two-dimensional notation for these programs, comprising alternating rows of functions and operands with arguments and return values indicated by physical layout, and a tool for interactive live editing of programs in this notation. @InProceedings{PAINT22p1, author = {Michael Homer}, title = {Interleaved 2D Notation for Concatenative Programming}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {1--10}, doi = {10.1145/3563836.3568722}, year = {2022}, } Publisher's Version |
|
Petricek, Tomas |
PAINT '22: "Interaction vs. Abstraction: ..."
Interaction vs. Abstraction: Managed Copy and Paste
Jonathan Edwards and Tomas Petricek (Independent, USA; Charles University, Czechia) Abstraction is at the core of programming, but it has a cost. We exhort programmers to use proper abstractions like functions but they often find it easier to copy & paste instead. Copy & paste is roundly criticized because subsequent changes to copies may have to be manually reconciled, which is easily overlooked and easily mistaken. It seems there is a conflict between the generality and reusability of abstraction with the simplicity of copying and modifying code. We suggest that this conflict arises because we are still thinking in terms of paper-based notations. Indeed the term “copy & paste” originates from the practice of physically cutting and gluing slips of paper. But an interactive programming environment can free us from the limitations of paper. We propose managed copy & paste, in which the programming environment records copy & paste operations, along with structural edit operations, so that it can track the differences between copies and reconcile them on command. These capabilities mitigate the aforementioned problems of copy & paste, allowing abstraction to be deferred or reduced. Managed copy & paste resembles version control as in git, except that it works not between versions of a program but between copies within the program. It is based on a new theory of structural editing and version control that offers precise differencing based on edit history rather than the heuristic differencing of textual version control. We informally explain this theory and demonstrate a prototype implementation of a data science notebook. Lastly, we suggest further mechanisms of gradual abstraction that could be provided by the programming environment to lessen the cognitive load of programming. @InProceedings{PAINT22p11, author = {Jonathan Edwards and Tomas Petricek}, title = {Interaction vs. Abstraction: Managed Copy and Paste}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {11--19}, doi = {10.1145/3563836.3568723}, year = {2022}, } Publisher's Version |
|
Sáenz, Juan Pablo |
PAINT '22: "Suppose You Had Blocks within ..."
Suppose You Had Blocks within a Notebook
Mauricio Verano Merino, Juan Pablo Sáenz, and Ana María Díaz Castillo (Vrije Universiteit Amsterdam, Netherlands; Politecnico di Torino, Italy; Teach for All, Colombia) Computational notebooks have been gaining prominence as a development environment suitable for non-experienced developers. However, it requires proficiency in writing syntactically and semantically correct code. In this article, we propose integrating a block-based approach into computational notebooks to prevent syntactical errors and ease the non-expert developers' adoption. Furthermore, we rely on two tools previously implemented (Bacatá and Kogi) to (i) create a computational notebook for Domain-Specific Languages and (ii) generate a block-based representation upon the language definition. Consequently, our approach does not exclusively focus on integrating a block-based environment into computational notebooks but on enabling the creation and integration of domain-specific block-based environments into notebooks. Future work concerns the evaluation of our proposal through a user study. @InProceedings{PAINT22p57, author = {Mauricio Verano Merino and Juan Pablo Sáenz and Ana María Díaz Castillo}, title = {Suppose You Had Blocks within a Notebook}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {57--62}, doi = {10.1145/3563836.3568728}, year = {2022}, } Publisher's Version |
|
Selwyn-Smith, Ben |
PAINT '22: "Blocks, Blocks, and More Blocks-Based ..."
Blocks, Blocks, and More Blocks-Based Programming
Ben Selwyn-Smith, Craig Anslow, and Michael Homer (Oracle Labs, Australia; Victoria University of Wellington, New Zealand) Blocks-based programming is a common way to teach novices how to program. However, there are many block-based languages to choose from. This paper reviews Block-Based Programming Languages (BBPLs), takes a detailed look at a number of existing BBPLs including their features and comparing and contrasting these languages. Finally, through a number of research questions, this paper evaluates the current state of the art and points out areas for potential further research. @InProceedings{PAINT22p35, author = {Ben Selwyn-Smith and Craig Anslow and Michael Homer}, title = {Blocks, Blocks, and More Blocks-Based Programming}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {35--47}, doi = {10.1145/3563836.3568726}, year = {2022}, } Publisher's Version |
|
Taeumel, Marcel |
PAINT '22: "Toward a VR-Native Live Programming ..."
Toward a VR-Native Live Programming Environment
Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, and Robert Hirschfeld (University of Potsdam, Germany; Hasso Plattner Institute, Germany) Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable. @InProceedings{PAINT22p26, author = {Leonard Geier and Clemens Tiedt and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld}, title = {Toward a VR-Native Live Programming Environment}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {26--34}, doi = {10.1145/3563836.3568725}, year = {2022}, } Publisher's Version |
|
Tiedt, Clemens |
PAINT '22: "Toward a VR-Native Live Programming ..."
Toward a VR-Native Live Programming Environment
Leonard Geier, Clemens Tiedt, Tom Beckmann, Marcel Taeumel, and Robert Hirschfeld (University of Potsdam, Germany; Hasso Plattner Institute, Germany) Fast feedback loops between performing code changes and seeing their outcome help developers to be productive. For development of virtual reality (VR) applications, developers use a separate device, forcing them to switch devices whenever they want to test their application, thus significantly increasing the length of the feedback loop. In this paper, we describe a prototypical development environment that allows writing VR applications while inside VR. Unlike previous work in this area that projected traditional 2D editors into the 3D world, we explore the use of direct manipulation in a structured editor for the general-purpose programming language Smalltalk. We present and discuss insights from a preliminary user study with four participants. Our findings demonstrate that the concept does work if users are given prior instructions, especially for smaller features where direct feedback is valuable, but ergonomics of both the hardware and our prototype have to be improved before extended programming sessions are viable. @InProceedings{PAINT22p26, author = {Leonard Geier and Clemens Tiedt and Tom Beckmann and Marcel Taeumel and Robert Hirschfeld}, title = {Toward a VR-Native Live Programming Environment}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {26--34}, doi = {10.1145/3563836.3568725}, year = {2022}, } Publisher's Version |
|
Verano Merino, Mauricio |
PAINT '22: "Suppose You Had Blocks within ..."
Suppose You Had Blocks within a Notebook
Mauricio Verano Merino, Juan Pablo Sáenz, and Ana María Díaz Castillo (Vrije Universiteit Amsterdam, Netherlands; Politecnico di Torino, Italy; Teach for All, Colombia) Computational notebooks have been gaining prominence as a development environment suitable for non-experienced developers. However, it requires proficiency in writing syntactically and semantically correct code. In this article, we propose integrating a block-based approach into computational notebooks to prevent syntactical errors and ease the non-expert developers' adoption. Furthermore, we rely on two tools previously implemented (Bacatá and Kogi) to (i) create a computational notebook for Domain-Specific Languages and (ii) generate a block-based representation upon the language definition. Consequently, our approach does not exclusively focus on integrating a block-based environment into computational notebooks but on enabling the creation and integration of domain-specific block-based environments into notebooks. Future work concerns the evaluation of our proposal through a user study. @InProceedings{PAINT22p57, author = {Mauricio Verano Merino and Juan Pablo Sáenz and Ana María Díaz Castillo}, title = {Suppose You Had Blocks within a Notebook}, booktitle = {Proc.\ PAINT}, publisher = {ACM}, pages = {57--62}, doi = {10.1145/3563836.3568728}, year = {2022}, } Publisher's Version |
16 authors
proc time: 3.69