CPR2 Information

Collaborative Research: Collaborative Partnership to Teach Mathematical Reasoning Through Computer Programming


The CPR2 Team at UNA is developing curriculum that incorporates programming to teach abstraction in the 7th and 8th grade math classroom.

CPR2 lessons use computer programming activities to motivate and define general expressions so students learn to reason abstractly. Teachers and school district leaders are involved with the design and implementation of the materials. In Collaborative Research with SRI, the CPR2 Team is currently refining curriculum and assessments and these will be tested in professional learning sessions and then by teachers in their classrooms.

Instructional Model

  • The CPR2 Instructional Model will help students come to understand, interpret, and even generate general or algebraic expressions.
  • ESS Identifying the essential characteristics of the math concept
  • PROG Using Python programming to explore the essential characteristics and, through iteration, find general behaviors
  • GEN Expressing the general behaviors as abstraction
  • CA Making conjectures and writing convincing arguments for the conjectures

Summer Institute and Follow-up Sessions

  • Teachers will strengthen their classroom implementation through follow-up professional learning sessions with the CPR2 Team during the academic year.


Classroom Implementation

  • Teachers will implement the model in their classrooms with support from the CPR2 team. Researchers will determine the effects on students in an experimental pilot study.


  • The project will facilitate and sustain change in mathematics education at all levels. Ultimately, this will lead to broader participation of teachers and students in programming and computational thinking, especially those currently underrepresented.