NSF Awards: 1933677
2022 (see original presentation & discussion)
Grades 6-8
The CPR2 project is investigating whether computer programming is an effective tool for teaching and learning generalization in 7^{th} and 8^{th} grade math classrooms. Understanding and interpreting general expressions can be difficult for students, but it is a key to advancing in STEM disciplines. The failure to “catch” this skill in middle school is a major roadblock to pursuit of STEM in college and career. The CPR2 Instructional Model (IM) helps students come to understand, interpret, and even generate general or algebraic expressions with an explicit method for teaching generalization that is intended for learners with no background in programming or formal mathematical argumentation. Students write mini computer programs and then recognize and recover general behaviors from their code. Next, students learn to describe these behaviors using abstract mathematical language. An additional benefit of the CPR2 IM is that learners gain experience, skill, and confidence in using programming as a tool for scientific exploration. This experience advances STEM fields by opening a door for all students to recognize, understand and apply abstractions, and to experience writing their own computer programs. All students who participate in the CPR2 IM, even those currently underrepresented in computer science, pave their way to success in future STEM studies.
Cynthia Stenger
Professor of Mathematics
Thank you for visiting the Collaborative Partnership to teach mathematical Reasoning through Computer PRogramming (CPR2) video! CPR2 lessons use computer programming activities to motivate and define general expressions so students learn to reason abstractly. This project is in the pilot study phase; we will have outcome data later this year. We are happy to discuss the outcome measures and what we expect to learn. We're especially interested in learning about approaches others are taking to measuring generalization in mathematics, and other efforts to integrate computer science with mathematics instruction.
Kristen Reed
Jessica Stovall
Paul Adams
I look forward to what you find from your pilot study. While this is not my direct area, I find this interesting as a way to combine coding and mathematics. My question is if the coding enhances or distracts from teaching math? Is there a tension of balancing math with coding for the students?
Mindy hsiao
Hi Paul! I'm a part of the research team for this project. Thanks for your question! We look forward to our findings as well! We find that the coding enhances the math because it helps student see the patterns from the general expressions they come up with in an automated way. There certainly is a tension of balancing the coding with the math for students though, so we make sure to have a lesson introducing Python and some basic Python skills before diving into the content.
Jessica Stovall
Associate Professor
Hello Paul,
I wanted to jump in and piggy-back off of what Mindy said regarding your question. The CPR2 Instructional Model was designed to enhance mathematical knowledge by pushing learners to generalize concepts. To be clear, we are not teaching coding. We only teach enough coding so that students can use Python programs as a tool to explore mathematical concepts. As stated by Mindy, we usually begin with a quick lesson introducing students to the programming basics they need to get started on their exploration. From there, any additional programming is introduced as needed. As a result, the mathematics remains front and center. Thanks for your question!
Paul Adams
Thanks to both of you for responding. My experience working with students on Arduino coding to develop environmental sensors resonates with what you are saying. The focus is on collecting and analyzing the data; the coding is a means to the end. My students have not been concerned with the coding and often find resources to help them develop the instrument.
Cynthia Stenger
Professor of Mathematics
Paul has cut directly to one of the hot topics for our project. It is sometimes difficult for math teachers to start to use computer programming in this way, just as it is difficult to find ways to teach students generalization and reasoning skills. But one unexpected delight implementing our instructional model has been the reaction from students. They are not put off by the coding, but rather catch on quickly, and many start to tinker around with their code almost instinctively. This creates a charged and creative learning environment where students learn to describe what they observe in their output in general. There will always be a "tension of balancing". We all want to engage our students in finding and owning a deeper understanding, and we want them to acquire better reasoning skills. The CPR2 Instructional Model is an explicit method for working toward these goals rather than hoping they "catch it" along the way.
Paul Adams
Thanks for the additional insight!
E Paul Goldenberg
Hi Paul, I'm not on this project and visited the video just because it looked interesting, but your question caught my attention. It is absolutely the right question to be asking, and the project's responses are quite on point. Any time something new is added, there is potential for distraction or overhead. But programming—properly designed and used—can be so powerful as a means for letting kids do the mathematics that it can (again, with proper design and use and attention to the classroom) repay any overhead it creates with extra dividends.
Our own project focuses on elementary school. It also uses programming as a language for expressing and exploring the mathematics kids are studying in their regular classes. Because it is elementary school, we are using a language (Snap!) with fewer extra syntactic demands than Python, but the principle is the same. A mathematical expression you write on paper just sits there, right or wrong, and gives you no feedback as to its correctness and no easy way to generalize it. An expression or command in computer code can be run, allowing the child to tinker with it and really understand it, to assess its correctness, and to extend it. That can be really powerful.
I don't think any of us have the final word here—these are new ideas and new implementations—but what we see on our project so far is extremely exciting, and quite full of (nice) surprises we'd never have anticipate. I can easily believe the same is true for this CPR2 project.
BTW, CPR2 people, I'm really curious and would love to learn more and be in touch!
Cynthia Stenger
Professor of Mathematics
Paul, what a wonderful comment! We here at CPR2 whole heartedly agree that computer programming can assign meaning to a general expression.
We have worked with elementary age school children and our findings align with yours.
I look forward to continuing this conversation with you!
Paul Adams
Thanks Paul. I found your statement about the code being run and tinkering. I had not thought of it in that manner. it brings to mind of looking at other disciplines that could incorporate code as a way to stimulate thinking.
Cynthia Stenger
Professor of Mathematics
Paul, we agree. We have a science lesson published in the JAAS if you would like to check it out.
Attack of the Ice Aliens: a transdisciplinary approach to physics education.
https://aasjournal.org/index.php/journal/articl...
Paul Adams
Thanks. I will check out the article.
Joan Ferrini-Mundy
University President
Very interesting. Reminiscent of Ed Dubinsky's work in advanced undergraduate mathematics from the 1990s (see https://people.math.wisc.edu/~wilson/Courses/Ma... The focus in CPR2 on development of mathematical generalization is great. Are you thinking about expanding the basic idea of creating/running code to develop understanding into development of other mathematical processes (e.g., abstraction, reasoning, problem solving or modeling)? And, are you thinking about how this approach might be adapted to science or engineering concepts?
Cynthia Stenger
Professor of Mathematics
Joan, You are spot on! I have worked with Ed Dubinsky for over 20 years. CPR2 is inspired and motivated from my work with him. He was a keynote at one of our CPR2 Summits Agee years back.….and thank you for that insightful question. We are looking at abstraction (similar to the object level of APOS) as a next step after generalization (similar to process level of APOS).
E Paul Goldenberg
Jessica Stovall
Associate Professor
Hi Joan,
Thank you for your questions and comments. We have definitely thought about how this approach can be used across various disciplines and have utilized it in several science classes as well as math classrooms. The forensics lesson Cindy linked to above has been used by several teachers in local high schools and was developed in conjunction with a Physics faculty member and local science teacher. We have also used the approach with 8^{th} grade science students in a waves lesson and high school students in a bioinformatics lesson. It is our belief that this method can be useful across many academic disciplines and leads nicely into interdisciplinary lessons.
Joi Spencer
Interim Dean and Professor of Mathematics Education
Thank you for sharing your project here. I am also enjoying the discussion going on in the posts. I wonder- was there any mathematical generalization being taught or even emphasized prior to the project? How do you anticipate the project to shape teacher's understanding of the enterprise of teaching middle school mathematics (which can often be taught as lots and lots of steps and procedures vs. generalization)?
Cynthia Stenger
Professor of Mathematics
Joi, thank you for these thoughtful questions. We feel that mathematical reasoning skills such as generalization and abstraction are most frequently expected to be “caught” rather than taught. This is one of the motivations behind the inception of our project over 10 years ago.
Already we do see this instructional model, emphasizing giving meaning to general expressions, shaping the way teachers think about the subject.
Thank you for bringing this up.
Haviaire Table-Paulson
This is truly wonderful work, thanks for sharing! One thing I couldn't help but wonder was whether you have any issues getting your colleagues on board? Making your courses better is amazing, but do students then take other courses that are "old school" and then struggle with the balance? I also wonder whether you've asked the students if they "notice" all of the things you do?
Jessica Stovall
Associate Professor
Hello Haviaire,
Thank you for your comment! One of the biggest issues we hear with getting teachers on board is related to time. Of course all teachers have their course of study items that must be covered, and if they view CPR2 as something "extra" instead of something to utilize for required content, then the buy in is less. Once they recognize that the instructional model can be used with their existing content, then they get excited to have a new tool in their toolbox. Students definitely seem to enjoy it and often times ask the teachers when they will get to program some more, which is awesome!
Cynthia Stenger
Tichina Ward-Pratt
Educator
I appreciate the the integration of math and programming to support mathematical reasoning. This is a great program.
I wonder if there are prerequisites for teachers; how much programming knowledge would be needed for them to support their students?
Cynthia Stenger
Professor of Mathematics
Hi Tichina, Thank you for your kind words. This is a good question. There is no computer prerequisite for the teachers. We train the teachers as if they are students, seeing coding for the first time. It does take time for the teachers to feel comfortable and confident with the coding. It really helps when they see their students quickly catching on to the coding.
Tichina Ward-Pratt
Kristin Flaming
We have found the same benefits to using code based software with our students in Passion-Driven Statistics. So many instructors have big concerns with teaching code in the classroom. A lot stems from their lack of experience with software and data projects. However, when we can get past that we bring so much to the classroom for student benefit when we include coding.
We typically use SAS or R with middle/high school students. I see you are using Python. Is that the only program supported by your model or can an instructor use any software?
Cynthia Stenger
Andrea Beesley
Director, STEM&CS Education Research
I enjoyed the Passion-Driven Statistics video! One difference between the projects may be that CPR2 uses Python for exploring various relationships between numbers and making conjectures about them, while it looks like Passion-Driven Statistics is more focused on statistics.
Kristin Flaming
Kristin Flaming
Yes that is correct.
Jeni Behel
My students were engaged and really made the connections beautifully. This was such a wonderful program and we can't wait to implement this into instruction again!
Cynthia Stenger
Cynthia Stenger
Professor of Mathematics
Hi Jeni, we are humbled and grateful to be working with outstanding teachers like you. The days I have spent observing you in your classroom as you stepped out into new uncharted territory (programming in the math classroom !) simply because you believe it benefits your students, have encouraged me about the future! I hope our partnership will continue for years to come.
Cynthia Stenger
Professor of Mathematics
Hi Kristin, I appreciate your interest in our project, using programming in the math classroom is an exciting and productive undertaking for all of us. Your question is insightful. It is true one could use any programming software for our instructional model. The key is to iterate over the mathematical concept until students find meaning in the general expression. Then to takePlease let me know if you have any other questions.
Kristin Flaming
Further posting is closed as the event has ended.