Pierre Weill-Tessier

dblp:176/9163 · DBLP profile ↗
← Back
12ranked-venue papers
5as first author
9since 2021 · last 2024
0000-0002-6999-8767ORCID · verified

Domains — the database's venue-derived domains; a paper can count in several

Human-computer interaction and ubiquitous computing · 11 · 4 first-author · 9 since 2021Graphics, computer vision, multimedia, augmented reality and games · 2 · 2 first-authorArtificial intelligence and machine learning · 1 · 1 first-author
YearPublicationVenuePosition
2024 Writing Between the Lines: How Novices Construct Java Programs
abstract
Novices frequently learn to program using text-based programming, in languages such as Java. Programs can be constructed in a variety of different ways. Novices may write them sequentially, one line after another, or they may use top-down design to write outlines then fill them in. They may do a lot of trial and error: writing and deleting as they receive errors, or they may use a lot of copy-and-paste. This level of detail -- higher than keystroke-level editing but below plan-composition analysis -- has rarely been explored in programming education research, but it can provide insight into how novices tackle program construction, and offer hints as to how they wrestle with the challenges of constructing an error-free program. In this paper we used thematic analysis to create a reliable set of tags for Java program construction, and then used them to tag over 100 programming sessions lasting over 300 hours. We empirically find that novices rarely comment, rarely plan, and frequently program by copying code they already wrote in the project and pasting it then adjusting it -- which we think indicates a way to transfer the knowledge of the code they just wrote to the next code they are constructing. We offer thoughts on the viability of this work and the difficulty of tagging higher-level behaviours such as responses to errors.
Neil Brown 0001, Victoria Mac, Pierre Weill-Tessier, Michael Kölling
SIGCSE (1)3
2023 An eye tracking study assessing the impact of background styling in code editors on novice programmers' code understanding
abstract
Background and Context: The designers of programming editors aimed at learners have long experimented with different styles of code presentation. The idea of syntax highlighting – coloring specific words – is very old. More recently, some editors (including text-, frame- and block-based editors) have added forms of scope highlighting – colored rectangles to represent programming scope – but there have been few studies to investigate whether this is beneficial for novices when reading and understanding program code.
Kang-Il Park, Pierre Weill-Tessier, Neil Brown 0001, Bonita Sharif, Nikolaj Jensen, Michael Kölling
ICER (1)2
2023 Strype: Frame-based Python in the Browser
abstract
Python is a very popular programming language in high schools for teaching programming. It is often used as the first text-based programming language after earlier teaching with blocks. This shift to textual syntax can prove to be a bump in the road for learners. Frame-based editing is a hybrid between blocks and text, which can thus smooth this transition. Strype is a frame-based editor for Python that can now be used to program entirely within the web browser. Strype is free and publicly available (at https://strype.org/), and in this demo we will show how it can be used to write and execute code.
Neil Brown 0001, Pierre Weill-Tessier, Michael Kölling
SIGCSE (2)2
2023 Java: What's New and How Might It Change Our Teaching?
abstract
Java had a long period of little change in its features: between Java 5 in 2004 and Java 9 in 2017, lambda functions were the only major addition to the language. However, Java's development pace has suddenly quickened, and not just in version numbers: by the time Java 17 was released in September 2021, new features in the language since Java 9 included record types, switch expressions, sealed classes, var declaration types, text blocks and pattern-matching instanceof. More new features are also on the horizon. Java remains one of the most popular languages for teaching in high-school and university/college, but many educators will not have had the time to learn these new features, let alone consider whether they should adjust their teaching to include any of these features. In this in-person workshop we will explain the new features to attendees and then facilitate discussion on whether the features should be incorporated into Java teaching at the introductory or advanced level, if at all.
Michael Kölling, Pierre Weill-Tessier, Neil Brown 0001
SIGCSE (2)2
2022 Strype: Bridging from Blocks to Python, with Micro: bit Support
abstract
Strype is a frame-based editor for a Python-like language that can target execution either in the browser or on the micro:bit device. Frame-based editing sits between block-based and text-based editing, featuring the easy graphical structuring of block-based editing but also the fast keyboard entry/manipulation of text-based editing. Thus frame-based editing in Strype can act as a bridge between block-based editing and text-based editing, especially if the latter involves programming in Python. In our courseware presentation we will provide a demonstration of the Strype editor. We will showcase Strype's unique features and show what it can bring to the educational community. We also hope that the presentation will permit a fruitful exchange between Strype's developers and teachers who may use it.
Pierre Weill-Tessier, Charalampos Kyfonidis, Neil Brown 0001, Michael Kölling
ITiCSE (2)1
2022 Transitioning from Blocks to Text
abstract
Block-based programming languages are very popular for introducing young novices to programming. The drag-and-drop interface, with large palettes of blocks, aids initial manipulation and discoverability. When novices continue with programming, they will likely do so by transitioning to a text-based programming language where they are confronted by a blank page and a blinking cursor. The move can be quite a shock. It is important for educators to be able to help with this transition. There are several elements to managing this transition: pedagogical, or tool-based. There exist tools that can show blocks and text, and there also exist tools occupying a middle space between blocks and text.
Neil Brown 0001, Michael Kölling, Charalampos Kyfonidis, Pierre Weill-Tessier
SIGCSE (2)4
2022 Getting Started with Source Code Analysis for Programming Education Research
abstract
Interesting ideas for computing education research often involve analysis of source code written by beginners. The process is often difficult to carry out: data must be collected from learners and then the code must be analysed. This can be daunting and time-intensive. In this workshop we will show how to get started with syntactic source analysis using a pre-provided data set and an easier analysis technique. The dataset is Blackbox Mini; the Blackbox project has been collecting data from Java novices for the last eight years and a subset of the data, named Blackbox Mini, has been extracted into a SrcML data format. SrcML is an XML-based format for storing program code so that the syntax tree can be navigated using existing powerful XML libraries. This makes source code analysis easier and more accessible to a wider audience. Attendees at the workshop will learn how to use SrcML to work with the Blackbox Mini data set, including basic statistics gathering, and basic syntactic source code analysis. As a result, attendees will be able to design and execute their own source-based research studies. Attendees should bring their own device with an SSH client installed.
Neil Brown 0001, Michael Kölling, Charalampos Kyfonidis, Pierre Weill-Tessier
SIGCSE (2)4
2022 Strype: Frame-Based Editing Tool for Programming the Micro: bit through Python
abstract
Frame-Based Editing (FBE) is a novel programming style which encompasses the good features of both Block and Text based editing. Moreover, FBE is designed as a middle step between Block and Text based editing, in order to ease the transition from the first to the latter. Strype is a new online editor which implements the FBE idea for Python and is used for programming the micro:bit. This demo will showcase the unique characteristics of Strype and demonstrate its use. Also, this demo will introduce Strype, and FBE generally, to the educational community in order to initiate fruitful discussions, get feedback and also promote its adoption to the educational community.
Charalampos Kyfonidis, Pierre Weill-Tessier, Neil Brown 0001
SIGCSE (2)2
2021 Usage of the Java Language by Novices over Time: Implications for Tool and Language Design
abstract
Java is a popular programming language for teaching at university level. BlueJ is a popular tool for teaching Java to beginners. We provide several analyses of Java use in BlueJ to answer three questions: what use is made of different parts of Java by beginners when learning to program; how has this pattern of use changed between 2013 and 2019 in a longstanding language such as Java; and to what extent do beginners follow the specific style that BlueJ is designed to guide them into? These analyses allow us to see what features are important in object-oriented introductory programming languages, which could inform language and tool designers -- and see to what extent the design of these programming tools can have an effect on the way the language is used. We find that many beginners disobey the guidelines that BlueJ promotes, and that patterns of Java use are generally stable over time -- but we do see decreased exception use and a change in target application domains away from GUI programming towards text processing. We conclude that programming languages for novices could have fewer built-in types but should retain rich libraries.
Pierre Weill-Tessier, Alexandra Lucia Costache, Neil Brown 0001
SIGCSE1
2018 Correlation between gaze and hovers during decision-making interaction
abstract
Taps only consist of a small part of the manual input when interacting with touch-enabled surfaces. Indeed, how the hand behaves in the hovering space is informative of what the user intends to do. In this article, we present a data collection related to hand and eye motion. We tailored a kiosk-like system to record participants' gaze and hand movements. We specifically designed a memory game to detect the decision-making process users may face. Our data collection comprises of 177 trials from 71 participants. Based on a hand movement classification, we extracted 16588 hovers. We study the gaze behaviour during hovers, and we found out that the distance between gaze and hand depends on the target's location on the screen. We also showed how indecision can be deducted from this distance.
Pierre Weill-Tessier, Hans-Werner Gellersen
ETRA1
2017 Touch Input and Gaze Correlation on Tablets
Pierre Weill-Tessier, Hans-Werner Gellersen
KES-IDT (2)1
2016 How do you look at what you touch?: a study of touch interaction and gaze correlation on tablets
abstract
The comprehension of the correlation between hand and gaze is important in HCI as it provides foundations to build rich and natural user experiences on devices. Despite the interest in describing this correlation in Internet-related activities, notably search activities, the studies that have been done so far only focus on the mouse as the proxy for the hand. Thanks to the touchscreen, tablets allow us to investigate the hand-eye correlation with direct touch input instead. We designed a gaze and touch data collection via a user study involving Internet-based tasks on a tablet in order to explore the data, detail the correlation between touch input and gaze, and in a further step, use these results to suggest a gaze prediction model based on touch and context.
Pierre Weill-Tessier, Jayson Turner, Hans-Werner Gellersen
ETRA1