VLDB 2026 Research / reviewers in the wild / expert
Samiha Marwan
dblp:167/8844
· DBLP profile ↗
21ranked-venue papers
7as first author
9since 2021 · last 2025
0000-0001-5283-3395ORCID · corroborated
Domains — the database's venue-derived domains; a paper can count in several
Human-computer interaction and ubiquitous computing · 15 · 6 first-author · 5 since 2021Applied, interdisciplinary, general and emerging computing · 8 · 1 first-author · 5 since 2021Artificial intelligence and machine learning · 1 · 1 since 2021Systems, architecture and hardware · 1 · 1 since 2021
| Year | Publication | Venue | Position |
|---|---|---|---|
| 2025 | How Good are Large Language Models at Generating Subgoal Labels?abstractThe use of subgoal labels in introduction to programming classrooms has been shown to improve student performance, learning, retention, and reduce students' drop out rates. However, creating and adding subgoal labels to programming assignments is often hard to articulate and very time-intensive for instructors. In Computing Education Research, Large Language Models (LLMs) have been widely used to generate human-like outputs such as worked examples and source code. In this work, we explore whether ChatGPT could be used to generate high-quality and appropriate subgoal labels in two programming curricula. Our qualitative data analysis suggests that LLMs can assist instructors in creating subgoal labels in their classrooms, opening up directions to empower students' learning experience in programming classrooms. Samiha Marwan, Mohamed Ibrahim 0011, Briana B. Morrison |
SIGCSE (2) | 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) | 3 |
| 2021 | Using Student Trace Logs To Determine Meaningful Progress and Struggle During Programming Problem Solving
Yihuan Dong, Samiha Marwan, Preya Shabrina, Tiffany Barnes, Thomas W. Price |
EDM | 2 |
| 2021 | Knowing both when and where: Temporal-ASTNN for Early Prediction of Student Success in Novice Programming Tasks
Ye Mao, Yang Shi 0004, Samiha Marwan, Thomas W. Price, Tiffany Barnes, Min Chi |
EDM | 3 |
| 2021 | Just a Few Expert Constraints Can Help: Humanizing Data-Driven Subgoal Detection for Novice Programming
Samiha Marwan, Yang Shi 0004, Ian Menezes, Min Chi, Tiffany Barnes, Thomas W. Price |
EDM | 1 |
| 2021 | You Really Need Help: Exploring Expert Reasons for Intervention During Block-based Programming AssignmentsabstractIn recent years, research has increasingly focused on developing intelligent tutoring systems that provide data-driven support for students in need of assistance during programming assignments. One goal of such intelligent tutors is to provide students with quality interventions comparable to those human tutors would give. While most studies focused on generating different forms of on-demand support, such as next-step hints and worked examples, at any given moment during the programming assignment, there is a lack of research on why human tutors would provide different forms of proactive interventions to students in different situations. This information is critical to know to allow the intelligent programming environments to select the appropriate type of student support at the right moment. Yihuan Dong, Preya Shabrina, Samiha Marwan, Tiffany Barnes |
ICER | 3 |
| 2021 | Toward Semi-Automatic Misconception Discovery Using Code EmbeddingsabstractUnderstanding students’ misconceptions is important for effective teaching and assessment. However, discovering such misconceptions manually can be time-consuming and laborious. Automated misconception discovery can address these challenges by highlighting patterns in student data, which domain experts can then inspect to identify misconceptions. In this work, we present a novel method for the semi-automated discovery of problem-specific misconceptions from students’ program code in computing courses, using a state-of-the-art code classification model. We trained the model on a block-based programming dataset and used the learned embedding to cluster incorrect student submissions. We found these clusters correspond to specific misconceptions about the problem and would not have been easily discovered with existing approaches. We also discuss potential applications of our approach and how these misconceptions inform domain-specific insights into students’ learning processes. Yang Shi 0004, Krupal Shah, Wengran Wang, Samiha Marwan, Poorvaja Penmetsa, Thomas W. Price |
LAK | 4 |
| 2021 | Exploring Design Choices in Data-driven Hints for Python Programming HomeworkabstractStudents often struggle during programming homework and may need help getting started or localizing errors. One promising and scalable solution is to provide automated programming hints, generated from prior student data, which suggest how a student can edit their code to get closer to a solution, but little work has explored how to design these hints for large-scale, real-world classroom settings, or evaluated such designs. In this paper, we present CodeChecker, a system which generates hints automatically using student data, and incorporates them into an existing CS1 online homework environment, used by over 1000 students per semester. We present insights from survey and interview data, about student and instructor perceptions of the system. Our results highlight affordances and limitations of automated hints, and suggest how specific design choices may have impacted their effectiveness. Thomas W. Price, Samiha Marwan, Joseph Jay Williams |
L@S | 2 |
| 2021 | Early Performance Prediction using Interpretable Patterns in Programming Process DataabstractInstructors have limited time and resources to help struggling students, and these resources should be directed to the students who most need them. To address this, researchers have constructed models that can predict students' final course performance early in a semester. However, many predictive models are limited to static and generic student features (e.g. demographics, GPA), rather than computing-specific evidence that assesses a student's progress in class. Many programming environments now capture complete time-stamped records of students' actions during programming. In this work, we leverage this rich, fine-grained log data to build a model to predict student course outcomes. From the log data, we extract patterns of behaviors that are predictive of students' success using an approach called differential sequence mining. We evaluate our approach on a dataset from 106 students in a block-based, introductory programming course. The patterns extracted from our approach can predict final programming performance with 79% accuracy using only the first programming assignment, outperforming two baseline methods. In addition, we show that the patterns are interpretable and correspond to concrete, effective -- and ineffective -- novice programming behaviors. We also discuss these patterns and their implications for classroom instruction. Samiha Marwan, Thomas W. Price |
SIGCSE | 2 |
| 2020 | An Evaluation of Data-Driven Programming Hints in a Classroom Setting
Thomas W. Price, Samiha Marwan, Michael Winters, Joseph Jay Williams |
AIED (2) | 2 |
| 2020 | Engaging Students with Instructor Solutions in Online Programming HomeworkabstractStudents working on programming homework do not receive the same level of support as in the classroom, relying primarily on automated feedback from test cases. One low-effort way to provide more support is by prompting students to compare their solution to an instructor's solution, but it is unclear the best way to design such prompts to support learning. We designed and deployed a randomized controlled trial during online programming homework, where we provided students with an instructor's solution, and randomized whether they were prompted to compare their solution to the instructor's, to fill in the blanks for a written explanation of the instructor's solution, to do both, or neither. Our results suggest that these prompts can effectively engage students in reflecting on instructor solutions, although the results point to design trade-offs between the amount of effort that different prompts require from students and instructors, and their relative impact on learning. Thomas W. Price, Joseph Jay Williams, Jaemarie Solyst, Samiha Marwan |
CHI | 4 |
| 2020 | What Time is It? Student Modeling Needs to Know
Ye Mao, Samiha Marwan, Thomas W. Price, Tiffany Barnes, Min Chi |
EDM | 2 |
| 2020 | Investigating Best Practices in the Design of Automated Feedback to Improve Students' Performance and LearningabstractTimely feedback is essential for students to learn and improve their performance. However, it is hard for computing instructors to provide real-time feedback for every student, particularly during homework or online classes. While researchers have put tremendous effort into developing algorithms to generate automated feedback, little work has evaluated how this feedback actually helps in practice, or what specific design choices make it more or less effective. In my dissertation, I am designing and evaluating different features of automated feedback, specifically next-step hints. Inspired by educational theories and effective human feedback, this work has the goal of discovering automated feedback design choices that can improve students' performance and learning. Samiha Marwan |
ICER | 1 |
| 2020 | Adaptive Immediate Feedback Can Improve Novice Programming Engagement and Intention to Persist in Computer ScienceabstractPrior work suggests that novice programmers are greatly impacted by the feedback provided by their programming environments. While some research has examined the impact of feedback on student learning in programming, there is no work (to our knowledge) that examines the impact of adaptive immediate feedback within programming environments on students' desire to persist in computer science (CS). In this paper, we integrate an adaptive immediate feedback (AIF) system into a block-based programming environment. Our AIF system is novel because it provides personalized positive and corrective feedback to students in real time as they work. In a controlled pilot study with novice high-school programmers, we show that our AIF system significantly increased students' intentions to persist in CS, and that students using AIF had greater engagement (as measured by their lower idle time) compared to students in the control condition. Further, we found evidence that the AIF system may improve student learning, as measured by student performance in a subsequent task without AIF. In interviews, students found the system fun and helpful, and reported feeling more focused and engaged. We hope this paper spurs more research on adaptive immediate feedback and the impact of programming environments on students' intentions to persist in CS. Samiha Marwan, Susan R. Fisk, Thomas W. Price, Tiffany Barnes |
ICER | 1 |
| 2020 | Unproductive Help-seeking in Programming: What it is and How to Address itabstractWhile programming, novices often lack the ability to effectively seek help, such as when to ask for a hint or feedback. Students may avoid help when they need it, or abuse help to avoid putting in effort, and both behaviors can impede learning. In this paper we present two main contributions. First, we investigated log data from students working in a programming environment that offers automated hints, and we propose a taxonomy of unproductive help-seeking behaviors in programming. Second, we used these findings to design a novel user interface for hints that subtly encourages students to seek help with the right frequency, estimated with a data-driven algorithm. We conducted a pilot study to evaluate our data-driven (DD) hint display, compared to a traditional interface, where students request hints on-demand as desired. We found students with the DD display were less than half as likely to engage in unproductive help-seeking, and we found suggestive evidence that this may improve their learning. Samiha Marwan, Anay Dombe, Thomas W. Price |
ITiCSE | 1 |
| 2020 | Step Tutor: Supporting Students through Step-by-Step Example-Based FeedbackabstractStudents often get stuck when programming independently, and need help to progress. Existing, automated feedback can help students progress, but it is unclear whether it ultimately leads to learning. We present Step Tutor, which helps struggling students during programming by presenting them with relevant, step-by-step examples. The goal of Step Tutor is to help students progress, and engage them in comparison, reflection, and learning. When a student requests help, Step Tutor adaptively selects an example to demonstrate the next meaningful step in the solution. It engages the student in comparing "before" and "after" code snapshots, and their corresponding visual output, and guides them to reflect on the changes. Step Tutor is a novel form of help that combines effective aspects of existing support features, such as hints and Worked Examples, to help students both progress and learn. To understand how students use Step Tutor, we asked nine undergraduate students to complete two programming tasks, with its help, and interviewed them about their experience. We present our qualitative analysis of students' experience, which shows us why and how they seek help from Step Tutor, and Step Tutor's affordances. These initial results suggest that students perceived that Step Tutor accomplished its goals of helping them to progress and learn. Wengran Wang, Yudong Rao, Rui Zhi, Samiha Marwan, Thomas W. Price |
ITiCSE | 4 |
| 2019 | Toward Data-Driven Example Feedback for Novice Programming
Rui Zhi, Samiha Marwan, Yihuan Dong, Nicholas Lytle, Thomas W. Price, Tiffany Barnes |
EDM | 2 |
| 2019 | An Evaluation of the Impact of Automated Programming Hints on Performance and LearningabstractA growing body of work has explored how to automatically generate hints for novice programmers, and many programming environments now employ these hints. However, few studies have investigated the efficacy of automated programming hints for improving performance and learning, how and when novices find these hints beneficial, and the tradeoffs that exist between different types of hints. In this work, we explored the efficacy of next-step code hints with 2 complementary features: textual explanations and self-explanation prompts. We conducted two studies in which novices completed two programming tasks in a block-based programming environment with automated hints. In Study 1, 10 undergraduate students completed 2 programming tasks with a variety of hint types, and we interviewed them to understand their perceptions of the affordances of each hint type. For Study 2, we recruited a convenience sample of participants without programming experience from Amazon Mechanical Turk. We conducted a randomized experiment comparing the effects of hints' types on learners' performance and performance on a subsequent task without hints. We found that code hints with textual explanations significantly improved immediate programming performance. However, these hints only improved performance in a subsequent post-test task with similar objectives, when they were combined with self-explanation prompts. These results provide design insights into how automatically generated code hints can be improved with textual explanations and prompts to self-explain, and provide evidence about when and how these hints can improve programming performance and learning. Samiha Marwan, Joseph Jay Williams, Thomas W. Price |
ICER | 1 |
| 2019 | The Impact of Adding Textual Explanations to Next-step Hints in a Novice Programming EnvironmentabstractAutomated hints, a powerful feature of many programming environments, have been shown to improve students' performance and learning. New methods for generating these hints use historical data, allowing them to scale easily to new classrooms and contexts. These scalable methods often generate next-step, code hints that suggest a single edit for the student to make to their code. However, while these code hints tell the student what to do, they do not explain why, which can make these hints hard to interpret and decrease students' trust in their helpfulness. In this work, we augmented code hints by adding adaptive, textual explanations in a block-based, novice programming environment. We evaluated their impact in two controlled studies with novice learners to investigate how our results generalize to different populations. We measured the impact of textual explanations on novices' programming performance. We also used quantitative analysis of log data, self-explanation prompts, and frequent feedback surveys to evaluate novices' understanding and perception of the hints throughout the learning process. Our results showed that novices perceived hints with explanations as significantly more relevant and interpretable than those without explanations, and were also better able to connect these hints to their code and the assignment. However, we found little difference in novices' performance. Our results suggest that explanations have the potential to make code hints more useful, but it is unclear whether this translates into better overall performance and learning. Samiha Marwan, Nicholas Lytle, Joseph Jay Williams, Thomas W. Price |
ITiCSE | 1 |
| 2019 | Defining Tinkering Behavior in Open-ended Block-based Programming AssignmentsabstractTinkering has been shown to have a positive influence on students in open-ended making activities. Open-ended programming assignments in block-based programming resemble making activities in that both of them encourage students to tinker with tools to create their own solutions to achieve a goal. However, previous studies of tinkering in programming discussed tinkering as a broad, ambiguous term, and investigated only self-reported data. To our knowledge, no research has studied student tinkering behaviors while solving problems in block-based programming environments. In this position paper, we propose a definition for tinkering in block-based programming environments as a kind of behavior that students exhibit when testing, exploring, and struggling during problem-solving. We introduce three general categories of tinkering behaviors (test-based, prototype-based, and construction-based tinkering) derived from student data, and use case studies to demonstrate how students exhibited these behaviors in problem-solving. We created the definitions using a mixed-methods research design combining a literature review with data-driven insights from submissions of two open-ended programming assignments in iSnap, a block-based programming environment. We discuss the implication of each type of tinkering behavior for learning. Our study and results are the first in this domain to define tinkering based on student behaviors in a block-based programming environment. Yihuan Dong, Samiha Marwan, Veronica Cateté, Thomas W. Price, Tiffany Barnes |
SIGCSE | 2 |
| 2019 | Exploring the Impact of Worked Examples in a Novice Programming EnvironmentabstractResearch in a variety of domains has shown that viewing worked examples (WEs) can be a more efficient way to learn than solving equivalent problems. We designed a Peer Code Helper system to display WEs, along with scaffolded self-explanation prompts, in a block-based, novice programming environment called \snap. We evaluated our system during a high school summer camp with 22 students. Participants completed three programming problems with access to WEs on either the first or second problem. We found that WEs did not significantly impact students' learning, but may have impacted students' intrinsic cognitive load, suggesting that our WEs with scaffolded prompts may be an inherently different learning task. Our results show that WEs saved students time on initial tasks compared to writing code, but some of the time saved was lost in subsequent programming tasks. Overall, students with WEs completed more tasks within a fixed time period, but not significantly more. WEs may improve students' learning efficiency when programming, but these effects are nuanced and merit further study. Rui Zhi, Thomas W. Price, Samiha Marwan, Alexandra Milliken, Tiffany Barnes, Min Chi |
SIGCSE | 3 |