Students learning programming exercise agency in deciding when and how to use GenAI tools like ChatGPT. However, this agency is often implicit and shaped by deadline pressure and peer behavior rather than explicit and conscious learning goals. We designed a GenAI Contract grounded in harm reduction and self-regulated learning theory to scaffold intentional decision-making: students articulated personal learning goals, created usage guidelines, and reflected on alignment at strategic points across an eleven-week semester. The contract was non-binding and graded only for completion, emphasizing self-awareness over enforcement. We implemented this with N=217 students in an intermediate Python course. For students still forming their relationship with GenAI, it worked, as 58
Thematic analysis is an increasingly popular method in computing education research; however, widespread methodological confusion undermines its potential. For example, notions of objectivity do not make sense with reflexive approaches, and evidence of saturation is not required for thematic analysis. This position paper details how thematic analysis evolved from Braun and Clarke's influential 2006 work into an umbrella method encompassing three general approaches with corresponding epistemologies: coding reliability (positivist), reflexive (interpretivist), and codebook (hybrid) thematic analysis. Each has different goals and assumptions, but researchers often inadvertently mix incompatible elements. We then present our personal journeys of learning about thematic analysis and finally dissect common confusing claims in our field's publications and peer reviews. Our goal is for the field of computing education research to move towards a "knowing" practice. By clarifying thematic analysis approaches and providing guidance for authors and reviewers, we hope to help the field of computing education research better understand this popular method.
Computing education faces a unique challenge when teaching debugging skills to teachers who do not have a formal computer science background but who will need to learn programming to teach CS courses. While most debugging research about post-secondary learners focuses on preparing students for the technology industry, teacher professional development (PD) programs often serve a different population: teachers who are simultaneously learning computing knowledge and the pedagogical skills to teach it effectively. Through semi-structured interviews with seven facilitators of computing PD programs, this study explores how experienced PD facilitators approach the concept of debugging and instruct teachers in the process of debugging. We use reflexive thematic analysis to show how teacher PD differs from debugging recommendations in post-secondary CS: Rather than focusing on understanding the root causes of errors, facilitators scaffold the teachers' process of identifying and locating bugs to aid teachers in more quickly producing working programs, which they see as important for supporting teachers' confidence. This practical approach acknowledges the time constraints of PD workshops. Finding and understanding bugs is the most difficult part of the debugging process and is something post-secondary students struggle with even after completing one or two semesters of CS courses. These insights challenge assumptions about debugging pedagogy and highlight the need to carefully consider when new CS teachers should learn error analysis skills.
Multiple software systems unintentionally exclude users, making the early integration of inclusive design training into software design education essential. In this study, we integrated critical pedagogy into an undergraduate software design course through (1) the CIDER assumption elicitation technique and (2) the exposure of values reflected in technology. Students' pre/post responses to the Critical Computing Index reveal that students' personal effectiveness increased after taking the software design course. Our initial analyses suggest that classwork encouraged critical reflection and agency, especially for improvements focused on accessibility, while interviews indicated that students grew from viewing marginalized perspectives as abstract ideals to actively integrating them into their design practices.
As computing's societal impact grows, so does the need for computing students to recognize and address the ethical and sociotechnical implications of their work. While there are efforts to integrate ethics into computing curricula, we lack a standardized tool to measure those efforts, specifically, students' attitudes towards ethical reflection and their ability to effect change. This paper introduces the novel framework of Critically Conscious Computing and reports on the development and content validation of the Critical Reflection and Agency in Computing Index, a novel instrument designed to assess undergraduate computing students' attitudes towards practicing critically conscious computing. The resulting index is a theoretically grounded, expert-reviewed tool to support research and practice in computing ethics education. This enables researchers and educators to gain insights into students' perspectives, inform the design of targeted ethics interventions, and measure the effectiveness of computing ethics education initiatives.
As discussions of computing's impact on society increase in public discourse, so does recognition for computing students to address the ethical and sociotechnical implications of their work. While efforts to integrate issues of ethics and social justice into computing curricula are nascent, we lack a standardized measure to monitor our progress towards these goals. In this poster, we report on the development and validation of the Critical Reflection and Agency in Computing Index, a novel instrument designed to assess undergraduate computing students' attitudes towards practicing critically conscious computing. The resulting index is a theoretically grounded, expert-reviewed tool with evidence for reliability and validity to support research and practice in computing ethics education. This enables researchers and educators to gain insights into students' perspectives, inform the design of targeted ethics interventions, and monitor the effectiveness of computing ethics education initiatives.
Computing ethics education aims to develop students' critical reflection and agency. We need validated ways to measure whether our efforts succeed. Through two survey administrations (N=474, N=464) with computing students and professionals, we provide evidence for the validity of the Critical Reflection and Agency in Computing Index. Our psychometric analyses demonstrate distinct dimensions of ethical development and show strong reliability and construct validity. Participants who completed computing ethics courses showed higher scores in some dimensions of ethical reflection and agency, but they also exhibited stronger techno-solutionist beliefs, highlighting a challenge in current pedagogy. This validated instrument enables systematic measurement of how computing students develop critical consciousness, allowing educators to better understand how to prepare computing professionals to tackle ethical challenges in their work.
Despite evidence of its effectiveness, Peer Instruction (PI) has not been widely adopted by undergraduate computing instructors. In PI, an instructor displays a hard multiple-choice question that students answer individually, then discuss their answer with peers, then answer again, and finally an instructor leads a discussion of the question. Even though the benefits of PI are well documented, it can be difficult to convince computing instructors to move away from passive lectures. Major reasons why instructors do not adopt PI include a lack of awareness, lack of time, and concerns over their ability to cover content. We hypothesized that we could encourage the adoption of PI by creating Peer+, a free tool in an ebook platform, a searchable question bank, and running summer instructor workshops. We offered a three-day in-person summer workshop to a total of 37 instructors in 2022 and 2023. Instructors completed a pre-survey, immediate post-survey, and a follow-up post survey after the fall semester. We also conducted semi-structured interviews with 17 instructors. On the immediate post-survey most (33/37, 89%) instructors reported that they were very likely or likely to use the tool in the fall. However, on the follow-up survey, less than a quarter (6/26, 23%) actually did. The number one reason for not using the tool was a lack of time (18/26, 69%). Notably, all of the instructors who used Peer+ planned to use it again. This work informs efforts to increase the adoption of evidence-based pedagogical approaches in computing.
As the societal impacts of technology become more salient, it becomes increasingly important to assess future professionals’ attitudes towards considering and learning about the ethical and sociopolitical implications of computing. My research plan has three studies to investigate this issue: a synthesis of literature on ethical interventions, the development and validation of a scale measuring attitudes towards foundational principles of critically conscious computing, and a large-scale survey of students’ alignment with these principles. The contribution of this work is to assess the prevalence and distribution of students’ attitudes about ethics across a large population, potentially identifying trends. Grounded in critiques of computer science ethics education and its growing emphasis on critical consciousness, my work aims to contribute insights into students’ attitudes towards incorporating ethics into undergraduate computing curricula.
Amid increasing calls for critical and anti-oppressive approaches to computer science (CS) education, educators are exploring how to create justice-centered teaching material. Additionally, broadening participation in justice-centered computing requires an understanding of students' relationship with social justice and their CS education. In this study, we created and distributed a programming project with a social justice context and critical thinking reflection questions as a probe for an intermediate programming class. We conducted a thematic analysis of 11 semi-structured interviews and distributed a short survey (N=86) with students of this class at a large public research university in the American Midwest. Our findings showed that these students support social justice contexts and content within their computer science education. Students requested deeper dives and discussions into social justice programming that would challenge their preconceived notions, incorporate calls to action, and direct action. However, we also found an interesting tension forming: many students described how their homework problem-solving mindset clashed with the critical thinking reflection questions.
As computing educators begin to recognize that their students need strong ethical foundations, there is a growing interest to integrate meaningful ethics education into undergraduate computing curricula. To achieve this, it is crucial to understand how students respond to ethical interventions in the classroom. This review examines the acceptance of ethical interventions in undergraduate computing courses, using the realist synthesis method to identify and refine underlying theories of student acceptance, and refine them through available studies. Four theories were identified in a synthesis of 13 reports, providing insight into what may improve student attitudes towards ethical interventions in which contexts and under which circumstances. The findings of this realist review offer guidance to intervention designers, researchers, and educators seeking to meaningfully engage students with ethics in computing education.
It's not just about LLMs, it's about us too.
The capability of large language models (LLMs) to generate, debug, and explain code has sparked the interest of researchers and educators in undergraduate programming, with many anticipating their transformative potential in programming education. However, decisions about why and how to use LLMs in programming education may involve more than just the assessment of an LLM’s technical capabilities. Using the social shaping of technology theory as a guiding framework, our study explores how students’ social perceptions influence their own LLM usage. We then examine the correlation of self-reported LLM usage with students’ self-efficacy and midterm performances in an undergraduate programming course. Triangulating data from an anonymous end-of-course student survey (n = 158), a mid-course self-efficacy survey (n=158), student interviews (n = 10), self-reported LLM usage on homework, and midterm performances, we discovered that students’ use of LLMs was associated with their expectations for their future careers and their perceptions of peer usage. Additionally, early self-reported LLM usage in our context correlated with lower self-efficacy and lower midterm scores, while students’ perceived over-reliance on LLMs, rather than their usage itself, correlated with decreased self-efficacy later in the course.
Research on students' use of large language models (LLMs) in academic settings has increased recently, focusing on usage patterns, tasks, and instructor policies. However, there is limited research on the relationships between students' socioeconomic backgrounds, perceptions, and usage of these resources. As socioeconomic factors may shape students' approach to learning, it is important to understand their impact on students' perceptions and attitudes towards emerging technologies like LLMs. Thus, we analyzed a quantitative and internally consistent student survey (N=144) and qualitative interview (N=2) responses of students taking an undergraduate-level programming course at a public university for correlations between socioeconomic background, attitudes towards LLMs, and LLM usage. Regression analysis found a significant positive association between socioeconomic status (SES) and belief that LLM use will lead to career success. Qualitative interviews suggested low-SES students perceived LLMs as helpful tools for debugging and learning concepts, but not as a significant factor in long-term career success. Rather, programming knowledge itself was still paramount for career success. Our findings contribute to our understanding of the complex influences social and cultural factors have on students' perceptions and attitudes towards LLMs.
Computing artifacts tend to exclude marginalized students, so we must create new methods to critique and change them. We studied the potential for "satirical programming" to critique artifacts as part of culturally responsive computing (CRC) pedagogy. We conducted a one-hour session for three different BPC programs (N=51). We showed an example of a satirical Python script and taught elements of Python to create a script. Our findings suggest this method is a promising CRC pedagogical approach: 50% of marginalized students worked together to create a satirical script, and 80% enjoyed translating their "glitches" into satirical Python scripts.
The field of computer science education has seen an abundance of experience reports exploring various implementations of pedagogical approaches and tools. While these reports have provided valuable insights, there remains a need to understand how these interventions work and why they are successful in specific contexts. The realist synthesis literature review method, commonly used in fields with experience reports and implementation research, offers significant potential for computer science education research by identifying the causal mechanisms and theories by which an intervention works (or not). This poster presents the process of conducting a realist synthesis review and explores its strengths and challenges in the context of computer science education research. The poster aims to provide insights into how realist reviews can help researchers synthesize experience reports to develop more effective evidence-based practices and theories.
Students are often asked to learn programming by writing code from scratch. However, many novices struggle to write code and get frustrated when their code does not work. Parsons problems can reduce the difficulty of a coding problem by providing mixed-up blocks the learner rearranges into the correct order. These mixed-up blocks can include distractor blocks that are not needed in a correct solution. Distractor blocks can include common errors, which may help students learn to recognize and fix such errors. Evidence suggests students find Parsons problems engaging, useful for learning to program, and typically easier and faster to solve than writing code from scratch, but with equivalent learning gains. Most research on Parsons problems prior to this work has been conducted at a single institution. This work addresses the need for replication across multiple contexts. A 2022 ITiCSE Parsons Problems Working Group conducted an extensive literature review of Parsons problems, designed several experimental studies for Parsons problems in Python, and created 'study-in-a-box' materials to help instructors run the experimental studies, but the 2022 working group had only sufficient time to pilot two of these studies. Our 2023 ITiCSE Parsons Problems Working Group reviewed these studies, revised some of the studies, expanded both the programming and natural languages used in some of the studies, created new studies, conducted think-aloud observations on some of the studies, and ran both revised as well as new experimental studies. The think-aloud observations and experimental studies provide evidence for using Parsons problems to help students learn common algorithms such as swap, and the usefulness of distractors in helping students learn to recognize, fix, and avoid common errors. In addition, our 2023 ITiCSE Parsons Problems Working Group reviewed Parsons problem papers published after the 2022 literature review and provided a literature review of multi-national (MIMN) studies conducted in computer science education to better understand the motivations and challenges in performing such MIMN studies. In summary, this article contributes an analysis of recent Parsons problem research papers, an itemization of considerations for MIMN studies, the results from our MIMN studies of Parsons problems, and a discussion of recent and future directions for MIMN studies of Parsons problems and more generally.
Using teaspoon languages to integrate programming across myriad academic disciplines.
Many novice programmers struggle to write code from scratch and get frustrated when their code does not work. Parsons problems can reduce the difficulty of a coding problem by providing mixed-up blocks that the learner assembles in the correct order. Parsons problems can also include distractor blocks that are not needed in a correct solution, but which may help students learn to recognize and fix errors. Evidence indicates that students find Parsons problems engaging, easier than writing code from scratch, useful for learning patterns, and typically faster to solve than writing code from scratch with equivalent learning gains. This working group leverages the work of the 2022 ITiCSE working group which published an extensive literature review of Parsons problems and designed and piloted several studies based on the gaps identified by the literature review. The 2023 working group is revising, conducting, and creating new studies. We will analyze the data from these multi-institutional and multi-national studies and publish the results as well as recommendations for future working groups.