Ioannis Karvelas

dblp:244/5170 · DBLP profile ↗
← Back
7ranked-venue papers
5as first author
3since 2021 · last 2023
0000-0003-2502-2903ORCID · verified

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

Human-computer interaction and ubiquitous computing · 7 · 5 first-author · 3 since 2021
YearPublicationVenuePosition
2023 Applying Software Engineering Anti-patterns to Programming Error Messages
abstract
Programming error messages (PEMs) have long been a hindrance to novice programmers. This work aims to establish a catalog of PEM anti-patterns--- common, reoccurring features of PEMs that make them unhelpful or actively harmful to programmers. The goal is for educators to be aware of, and actively teach concrete ways that PEMs can be misleading to students; to encourage language implementers to be cognizant of these; and avoid them when designing error feedback. A pilot study is being conducted to validate the presence of anti-patterns in error messages.
Eddie A. Santos, Ioannis Karvelas, Brett A. Becker
SIGCSE (2)2
2022 Sympathy for the (Novice) Developer: Programming Activity When Compilation Mechanism Varies
abstract
In this work we investigate compilation behavior and error resolution time of thousands of novice programmers using two different versions of the BlueJ pedagogical Java programming environment. The two versions feature different compilation and error message presentation mechanisms. BlueJ 3 is a click-to-compile environment with enforced first error message presentation whereas BlueJ 4 features automatic compilation and on-demand error message presentation. We provide an overview of compilation activity based on novices' programming time spent in different compilation states and also present differences in the time it takes students to reach successful compilation states in each version. We find that compilation activity differs for each version and that students reach successful compilations faster in BlueJ 4. Based on our findings, we discuss the effectiveness of each version and argue against the constant red underlining of code - an error indicator mechanism present in BlueJ 4 - as this can lead to false positive errors that may mislead novices during their programming tasks.
Ioannis Karvelas, Brett A. Becker
SIGCSE (1)1
2021 Exploring Novice Programming Behavior over Time
abstract
This work focuses on the effect that programming time has on novice programmers' interaction with two versions of the BlueJ programming environment that differ in compilation mechanism and error message presentation. We utilize programming process data from users of both BlueJ versions, and those who used each one exclusively. Results indicate there is a threshold of approximately twenty hours of programming below and above which compilation and error message frequency changes. This indicates that being exposed to an environment for prolonged time can influence the programming interaction between novices and environments. This phenomenon is not yet understood.
Ioannis Karvelas, Joe Dillane, Brett A. Becker
ITiCSE (2)1
2020 Exploring Sense of Belonging in Computer Science Students
abstract
Student sense of belonging has been shown to be associated with many attributes such as motivation and persistence. However, sense of belonging can show variations according to factors such as race and gender. In this study, we examine the relationship between undergraduate Computer Science students' participation in networking, outreach, and mentoring activities and their sense of belonging. Results reveal lower levels of sense of belonging in women and self-identified minorities. However, we observed a higher sense of belonging in female students who participated in networking, outreach, and mentoring activities.
Catherine Mooney, Anna Antoniadi, Ioannis Karvelas, Lana Salmon, Brett A. Becker
ITiCSE3
2020 Compiler Error Messages: Their Content and Accessibility in Novice Programming Environments
abstract
Improving the feedback that novices receive from programming environments is an important and often overlooked aspect of computing education research. This work in progress examines the effects of various mechanisms by which environments deliver feedback to users. By providing insights on the effects of these mechanisms, we aim to inform designers, developers and educators about more effective design and use of such environments for students.
Ioannis Karvelas, Joe Dillane, Brett A. Becker
SIGCSE1
2020 The Effects of Compilation Mechanisms and Error Message Presentation on Novice Programmer Behavior
abstract
It is generally accepted that learning to program could be easier for many students. One of the most important components of this experience is the programming environment. Novices learn in a variety of environments, from basic command-line interfaces to industry-strength IDEs. These environments can differ substantially in compilation behavior and error message presentation - arguably two of the most important mechanisms through which users interact with the programming language. In this study, we utilize Blackbox data to compare the programming behavior of thousands of users programming in Java, who all used BlueJ versions 3 and 4. These two versions differ drastically in terms of compilation behavior and error message presentation. BlueJ 3 is a click-to-compile editor that delivers text-based error messages from javac to the user, but only presents the first error message, even if the compiler produces several. BlueJ 4 automatically compiles in the background but retains click-to-compile ability. In addition, all error messages (not just the first) may be viewed by the user. We find that the programming experience and behavior of these users can be substantially affected by changes in these mechanisms, causing numbers of manual compilations, successful compilations, and error messages presented in each version to differ, in cases, markedly. Our results provide evidence on how changes in programming environment affect user behavior in conditions that reasonably control for variables other than the programming environment. This can inform the decisions of educators, tool designers, and HCI researchers in their work to make learning more effective for novice programmers.
Ioannis Karvelas, Annie Li, Brett A. Becker
SIGCSE1
2019 Investigating Novice Programmers' Interaction with Programming Environments
abstract
Learning computer programming can be challenging for novices. Students have to deal with theoretical aspects of programming and problem solving in general, as well as mastering the syntax of a programming language. However, the feedback students receive from programming environments such as compiler error messages can be problematic. This work is aimed at better understanding the impact of these feedback mechanisms and working towards designing improved "novice-friendly" programming feedback to inform the development of pedagogical environments.
Ioannis Karvelas
ITiCSE1