# Integrating Problem Solving, Coding, Mathematics, and Pedagogy

SU 217

## Start Date

15-11-2019 9:40 AM

Podium

Computer Science

Session 6

## Description

We present a case study illustrating an integrated approach to the teaching of problem solving, computation, and mathematics. This approach combines ideas from Polya, Ross, and Moore about mathematical pedagogy with a heavy dose of computer assisted calculation in the spirit of experimental mathematics facilitated by the rapid prototyping environment of Mathematica which is ideal for an exploratory approach to learning. Essentially, students learn math and programming the same way mathematicians do research and we believe that this can scale all the way from grammar school to graduate school. To be more specific, we start with an elementary recreational math problem called the “last one standing problem”. Initially we approach this from a computational and algorithmic perspective. It turns out that it’s resolution really comes down to a fractal integer sequence: 1, 2, 4, 3, 8, 7, 5, 6, 16… which is related to the classic error correcting Gray code ordering of the positive integers. Wrestling with the growth of this sequence then led us to the question of how you measure the growth of very messy but not random functions. To address this question, we introduce a family of formulas inspired by linear regression, but in the end, focus on one member of this family which we found particularly difficult but interesting and we carefully document all our various approaches to calculating a growth rate with it. Fortunately, because this integer sequence has an enormous amount of structure, by writing programs and running experiments we were able to uncover many hidden patterns, many of which we were able to formulate as precise mathematical theorems and prove. In particular, we did find a theoretically satisfying and computationally efficient way to calculate the growth rate quantity. Having achieved our goal, this would normally be the end of it: algorithms, programs, and proofs of theorems are the usual “deliverables” for researchers working in computer science and mathematics. In our case however, we regard these results as partly incidental since we really want to highlight the approach used to obtain them, as we believe it provides an accessible example of how to do research and teach computer science and mathematics in an interdisciplinary manner.

## Share

COinS

Nov 15th, 9:40 AM

Integrating Problem Solving, Coding, Mathematics, and Pedagogy

SU 217

We present a case study illustrating an integrated approach to the teaching of problem solving, computation, and mathematics. This approach combines ideas from Polya, Ross, and Moore about mathematical pedagogy with a heavy dose of computer assisted calculation in the spirit of experimental mathematics facilitated by the rapid prototyping environment of Mathematica which is ideal for an exploratory approach to learning. Essentially, students learn math and programming the same way mathematicians do research and we believe that this can scale all the way from grammar school to graduate school. To be more specific, we start with an elementary recreational math problem called the “last one standing problem”. Initially we approach this from a computational and algorithmic perspective. It turns out that it’s resolution really comes down to a fractal integer sequence: 1, 2, 4, 3, 8, 7, 5, 6, 16… which is related to the classic error correcting Gray code ordering of the positive integers. Wrestling with the growth of this sequence then led us to the question of how you measure the growth of very messy but not random functions. To address this question, we introduce a family of formulas inspired by linear regression, but in the end, focus on one member of this family which we found particularly difficult but interesting and we carefully document all our various approaches to calculating a growth rate with it. Fortunately, because this integer sequence has an enormous amount of structure, by writing programs and running experiments we were able to uncover many hidden patterns, many of which we were able to formulate as precise mathematical theorems and prove. In particular, we did find a theoretically satisfying and computationally efficient way to calculate the growth rate quantity. Having achieved our goal, this would normally be the end of it: algorithms, programs, and proofs of theorems are the usual “deliverables” for researchers working in computer science and mathematics. In our case however, we regard these results as partly incidental since we really want to highlight the approach used to obtain them, as we believe it provides an accessible example of how to do research and teach computer science and mathematics in an interdisciplinary manner.