A structured reflection intervention that scaffolds students' intentional decision-making about when and how to use Generative AI in programming courses. Grounded in self-regulated learning theory and harm reduction philosophy, students articulate personal learning goals, create personalized usage guidelines, and reflect on alignment at strategic checkpoints across the semester. The contract is non-binding and graded for completion only, emphasizing intentionality over policing.
The GenAI Contract is a structured reflection tool designed to scaffold students' decision-making about when and how to use Generative AI while learning programming. Rather than prohibiting or mandating use, it helps students articulate their own learning goals and create personalized guidelines aligned with those goals.
The contract is non-binding and graded for completion only. The goal is intentionality, not policing behavior. In our implementation with N=217 students, 58% reported the intervention changed how they thought about GenAI use.
The intervention draws from three frameworks:
The intervention consists of four reflection prompts distributed across eleven weeks:
| # | Component | Timing | Description | Link |
|---|---|---|---|---|
| 1 | Contract Template — Steps 1 & 2 | Week 2 | Students articulate learning goals (Step 1) and create personal GenAI usage guidelines (Step 2). | Make a copy |
| 2 | Student Examples | Week 2 (optional) | Sample goals and guidelines from our Fall 2025 implementation, organized by student goal type. | Make a copy |
| 3 | Contract Template — Step 3 | Week 5 (post-Midterm 1) | Students describe actual usage, evaluate goal alignment, and revise guidelines. | Make a copy |
| 4 | Contract Template — Step 4 | Week 11 (post-Midterm 2) | Final reflection on the semester, including what they learned about themselves as learners. | Make a copy |
Steps 1 and 2 are distributed as a copyable Google Doc. Steps 3 and 4 are distributed as text for students to paste into their existing document, so the contract accumulates as a single document across the semester.
In our Winter 2026 implementation, we added the following prompt to the top of every homework file to keep the contract visible between reflection checkpoints:
# Did your use of GenAI on this assignment align with your goals and guidelines? (yes / mostly / partially / not really / I intentionally adjusted, and why):This was introduced based on Fall 2025 student feedback that the contract was "out of sight, out of mind" between checkpoints.
Each reflection was worth a small number of completion points (approximately 1.5% of the final grade total). We graded for completion, never for content. Students should feel free to write honestly without fear of judgment.
This intervention was implemented in an intermediate Python programming course ("Data-Oriented Programming") at the University of Michigan. The course enrolled N=217 students across approximately 60% Information Science majors, 10% Computer Science majors, and 30% from other programs.
The intervention sits on top of the course's existing structure — it does not require redesigning assignments. GenAI use was permitted; students were asked to cite what they used and how it helped. Two proctored midterm exams assessed programming skills without GenAI access, creating a natural tension the contract helps students navigate.
This intervention is student-centered and not tied to specific course content, making it adaptable to any programming course regardless of language, level, or student population. Key adaptation considerations:
If you're using this intervention in your course or have questions about implementation, please reach out to aadarsh@umich.edu.