SNSara Nurollahian

Sara Nurollahian

*This is an algorithmically generated author record based on publicly available information.

Current Organizations / Institutes

The organizations/institutes from the scholar's latest article


Sara Nurollahian has a total of 10 co-authors. Here are the top co-authors by number of shared publications:


Latest Publications

  • Open Access

    The Growing Importance of Code Quality Instruction in the AI Era

    by Sara Nurollahian, Hieke Keuning, Tamanna Motahar

  • Open Access

    A Systematic Review of Approaches for Evaluating Students’ Function-Level Code Structure Knowledge with a Catalog of All Discussed Patterns

    by Sara Nurollahian, Noelle Brown, Anna N. Rafferty, Eliane Wiese

    Code structure, an important aspect of code quality, involves stylistic and structural decisions within individual functions, such as selecting appropriate control flow structures for a specific task. Despite over 40 years of research on student performance in various code structure topics, a comprehensive overview of these studies remains absent. Therefore, we conducted a systematic literature review to understand which function-level code structure topics were considered essential for student learning and what assessment practices were used to evaluate students’ knowledge of code structure. Our review identified approximately 70 code-structure topics, which we classified into 7 categories: expressions, variables and parameters, Boolean expressions, conditionals, loops, functions, and others. We created a catalog of these topics that includes their definitions, an example defect for each topic, and a corresponding solution. This catalog can serve as a resource for instructors seeking to incorporate code structure into introductory programming courses, as well as for researchers developing educational tools or investigating the extent and causes of code-structure violations. Regarding assessment practices in prior studies, we found that various assessment tasks and student artifacts were utilized, with half of the studies examining students’ code-writing submissions for the occurrence of violations. While this approach is scalable through the use of automated detectors, it provides limited insight into the underlying causes of these violations or into students’ performance on non-writing skills such as code refactoring. Additionally, we found very little research that focuses on specific assessment tasks such as code recall and code editing (i.e., refactoring others’ code). Moreover, while many studies suggested that student code structure defects stem from knowledge gaps in programming concepts, only a few empirically tested this hypothesis. Finally, we conclude this study by highlighting open areas for future research on code structure.


  • Open Access

    Evaluating Micro-Insertion as a Method for Teaching Responsible Computing: Results from a Randomized Controlled Experiment

    by Noelle Brown, Sara Nurollahian, Eliane S. Wiese

    While there have been many calls for teaching ethics and responsible computing, it is unclear how responsible computing instruction and technical learning interact. Some instructors even hesitate to include ethics in their courses, fearing it might distract students from learning technical computing content. An approach called micro-insertion offers a path to teaching responsible computing while teaching technical content. Micro-insertion situates technical problems in real-world contexts, with frequent, minimally invasive discussions of potential harms of a computing professional’s technical choices. We conducted a between-subjects laboratory study where 82 post-secondary student participants were randomly assigned to one of two instructional conditions to learn a computing topic. The technical-only condition received traditional instruction, while the micro-insertion condition learned the same technical material contextualized within a real-world scenario with potential broader ethical or social impacts. Our study design included a pre-test, instruction intervention, immediate post-test, and a 2-week delayed post-test. Each test included both technical and contextualized questions, and the instructional time was the same across both conditions. The study revealed no statistically significant differences in learning outcomes between the two conditions. Participants in both conditions improved in solving problems presented both abstractly and contextualized with a real-world narrative. Thus, we did not find evidence that our responsible computing intervention distracted participants from learning the technical topics. Further, participants in the technical-only condition could correctly respond to contextualized questions, suggesting that students might be able to engage with responsible computing micro-insertions without targeted instruction. To more deeply understand students’ reasoning, we conducted follow-up interviews with 13 of the participants. The interviews revealed that participants in both conditions perceived to have learned about responsible computing from the study. However, the depth and quality of participants’ engagement with real-world issues varied significantly, with many only superficially addressing the context and many relying on their own personal experiences as their source of knowledge. We, therefore, encourage future studies to investigate other approaches to responsible computing education to determine which approach results in more meaningful consideration of social and ethical issues and whether that detracts from or supports technical learning.


  • Open Access

    Exploring how People with Spinal Cord Injuries Seek Support on Social Media

    by Tamanna Motahar, Sara Nurollahian, YeonJae Kim, Marina Kogan, Jason Wiese

    Individuals who have sustained a Spinal Cord Injury (SCI) undergo abrupt changes in their functional abilities, impacting all aspects of their lives and imposing a life-long reliance on assistive tools and support from others. This paper aims to understand individuals’ support-seeking behavior in social media as they adjust to their “new normal”—life with reduced mobility and sensation. To understand their online support-seeking behavior, we conducted content analysis on 960 post-threads from SCI-specific subreddit groups. We found that individuals seek informational and emotional support regardless of injury level and time elapsed since injury. Additionally, individuals seek and receive online informational support concerning assistive logistics, motor-functionality, newly acquired self-care, and daily living activities. Similarly, individuals seek emotional support for motivation, and creating new self-identity. Finally, we discuss how social media support dynamics might facilitate reconstructing self-identity, adopting assistive technology, and improving relationships to help adjust to the “new normal.”


  • Open Access

    Growth in Knowledge of Programming Patterns: A Comparison Study of CS1 vs. CS2 Students

    by Sara Nurollahian, Anna N. Rafferty, Noelle Brown, Eliane Wiese

    How does students' knowledge of code structure improve as they progress through their degree, and where do students struggle? We conducted a comparative study between introductory (CS1) and intermediate CS students (CS2) to explore these questions. Using an online survey with several tasks, including identification of expert patterns, judgment of readable structure, code comprehension, code writing, and editing, we focused on two important code structures: (S1) returning boolean expressions directly and (S2) unique vs. repeated code within if and else. Student performance varied based on structure and task: in both S1 and S2, CS2 students demonstrated higher performance in identifying patterns, judgment of readable structure, and editing. However, evidence of improvement in code writing was only found for S1, and improvement in code comprehension was only found for S2. Therefore, students may need different supports across different code structures. With the exception of comprehension of S1, student performance was far below ceiling, suggesting a need for more support. Additionally, we examined how student performance in different tasks was related to their writing structure. Overall, there were limited and varying relationships between performance in other tasks and writing: code editing predicted writing performance for both structures. For S1, student judgment of readability was also associated with writing structure, and for S2, comprehension predicted writing structure.


  • Open Access

    Use of an Anti-Pattern in CS2: Sequential if Statements with Exclusive Conditions

    by Sara Nurollahian, Matthew Hooper, Adriana Salazar, Eliane Wiese

    How can we teach students to use more readable code structures? How common is it for students to choose less readable (but still functional) alternatives? We explore these questions for a specific anti-pattern: using sequential if statements when conditions are exclusive (rather than using else-if or else). We created and validated an automated detector to identify this anti-pattern in student's code. Running the detector on 1,764 homework submissions (from 270 students in a CS2 class on data structures and algorithms) showed that this anti-pattern was common and varied by assignment: across 12 assignments, 3% to 50% of submissions used sequential ifs for exclusive cases. However, using this anti-pattern did not preclude using else-ifs: across assignments, up to 34% of the submissions used both forms. Further, students used sequential if statements in surprising ways, such as checking a condition and then the negation of that condition, indicating a more novice level of understanding than expected for an intermediate course. Hand-inspection of the detector-flagged cases suggests that sequential ifs for exclusive cases may be a code smell that can indicate larger problems with logic and abstraction.