VLDB 2026 Research / reviewers in the wild / expert
Teemu Lehtinen
dblp:119/2436
· DBLP profile ↗
6ranked-venue papers
3as first author
5since 2021 · last 2023
0000-0003-4794-3818ORCID · verified
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 5 · 2 first-author · 4 since 2021Software engineering, systems software and programming languages · 1 · 1 first-author · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2023 | Automated Questions About Learners' Own Code Help to Detect Fragile Prerequisite KnowledgeabstractStudents are able to produce correctly functioning program code even though they have a fragile understanding of how it actually works. Questions derived automatically from individual exercise submissions (QLC) can probe if and how well the students understand the structure and logic of the code they just created. Prior research studied this approach in the context of the first programming course. We replicate the study on a follow-up programming course for engineering students which contains a recap of general concepts in CS1. The task was the classic rainfall problem which was solved by 90% of the students. The QLCs generated from each passing submission were kept intentionally simple, yet 27% of the students failed in at least one of them. Students who struggled with questions about their own program logic had a lower median for overall course points than students who answered correctly. Teemu Lehtinen, Otto Seppälä, Ari Korhonen |
ITiCSE (1) | 1 |
| 2022 | Steps Learners Take when Solving Programming Tasks, and How Learning Environments (Should) Respond to ThemabstractEvery year, millions of students learn how to write programs. Learning activities for beginners almost always include programming tasks that require a student to write a program to solve a particular problem. When learning how to solve such a task, many students need feedback on their previous actions, and hints on how to proceed. In the case of programming, the feedback should take the steps a student has taken towards implementing a solution into account, and the hints should help a student to complete or improve a possibly partial solution. Only a limited number of learning environments for programming give feedback and hints on intermediate steps students take towards a solution, and little is known about the quality of the feedback provided. To determine the quality of feedback of such tools and to help further developing them, we create and curate data sets that show what kinds of steps students take when solving programming exercises for beginners, and what kind of feedback and hints should be provided. This working group aims to 1) select or create several data sets with steps students take to solve programming tasks, 2) introduce a method to annotate students' steps in these data sets, 3) attach feedback and hints to these steps, 4) set up a method to utilize these data sets in various learning environments for programming, and 5) analyse the quality of hints and feedback in these learning environments. Johan Jeuring, Hieke Keuning, Samiha Marwan, Dennis J. Bouvier, Cruz Izu, Natalie Kiesler, Teemu Lehtinen, Dominic Lohr, Andrew Petersen 0001, Sami Sarsa |
ITiCSE (2) | 7 |
| 2022 | Jask: Generation of Questions About Learners' Code in JavaabstractWe present Jask, a system capable of generating questions about a learner's code written in Java. Given Java code as input, Jask provides a set of meaningful questions formulated in terms of the actual code (using its constructs and identifiers) and the corresponding correct answers. We integrated Jask in a web-based system where students submit their code (e.g., from lab exercises), answer questions about it, and obtain immediate formative feedback with the correct answers. An initial study involving 123 distinct introductory programming students providing 2274 answers revealed that questions pertaining to program dynamics tend to register low scores, possibly evidencing fragile comprehension of programming constructs. Participants were surveyed, revealing a positive view towards the usefulness of Jask, especially with respect to consolidating terminology. André L. Santos 0001, Tiago Soares, Nuno Garrido, Teemu Lehtinen |
ITiCSE (1) | 4 |
| 2021 | Students Struggle to Explain Their Own Program CodeabstractWe asked students to explain the structure and execution of their small programs after they had submitted them to a programming exercise. These questions about learner's code (QLCs) were delivered at three occasions in an online and open course in introductory programming as a part of the digital learning material. We make inductive content analysis to research the open-ended text answers we collected. One third of the students struggled to explain their own program code. This estimates possible occurrences of fragile learning at the moment when a student seemingly succeeds in a program writing exercise. Furthermore, we examine correlations between the correctness of the answers with other learning data. Our results indicate that answering properly aligned QLCs correctly has stronger correlation with student success and retention than merely submitting a correct program. Additionally, we present observations on learning event-driven programming to explore QLCs' potential in identifying students' thinking process. Teemu Lehtinen, Aleksi Lukkarinen, Lassi Haaranen |
ITiCSE (1) | 1 |
| 2021 | Let's Ask Students About Their Programs, AutomaticallyabstractStudents sometimes produce code that works but that its author does not comprehend. For example, a student may apply a poorly-understood code template, stumble upon a working solution through trial and error, or plagiarize. Similarly, passing an automated functional assessment does not guarantee that the student understands their code. One way to tackle these issues is to probe students' comprehension by asking them questions about their own programs. We propose an approach to automatically generate questions about student-written program code. We moreover propose a use case for such questions in the context of automatic assessment systems: after a student's program passes unit tests, the system poses questions to the student about the code. We suggest that these questions can enhance assessment systems, deepen student learning by acting as self-explanation prompts, and provide a window into students' program comprehension. This discussion paper sets an agenda for future technical development and empirical research on the topic. Teemu Lehtinen, André L. Santos 0001, Juha Sorva |
ICPC | 1 |
| 2015 | Teaching Git on the Side: Version Control System as a Course PlatformabstractThe ability to use version control systems is a highly desired skill in the software industry and the need to teach it has been recognized in the literature. Git, and other version control systems, have previously been used by instructors in classrooms to distribute exercises, to facilitate assessment, and as a platform for project collaboration and teamwork. Using version control brings benefits to instructors, e.g. by lowering the need for administrative tasks, as well as to students, e.g. by providing experience with standard software industry tools. We describe how to incrementally present features of Git and incorporate them into the course workflow. We present a case study of running a large (ca. 200 students) course utilizing Git and evaluate the results both from instructor's and learner's point of view. Our evaluation shows, that a distributed version control system can be used successfully to disseminate course materials and facilitate exercise submissions. Lassi Haaranen, Teemu Lehtinen |
ITiCSE | 2 |