(1983). After helping the students understand the three different division commands through discussion and collaboratively using these tools in meaningful context, we provide other challenges to help students consolidate their understanding of remainders in context. Teacher Moves that Lead to Math Learning in Programming. For example with decimal 5, one student sits in the ‘4’ chair, representing four students. In her research and teaching, Diane explores how spatial reasoning and computational thinking can help mathematical learning. Papert, S. (1994). For example, Diane has had a student passionately argue that $7.37 needs to be rounded to $7.00, because 37 cents is less than half of a dollar. 1983). In the context of division, we often teach the different division commands when the students are struggling with a problem that cannot be solved without them. Journal of Mathematical Behavior, 19(2), 233-246. Driven to help our students be more successful, we independently experimented in our individual classrooms, expanding our teaching repertoires. We discuss the mathematics behind specific programming commands within the problem context. We create challenges to help students to extend their understanding of integer and modulus division such as writing programs to: The three types of division address some issues with remainders, but not the issue of inappropriate rounding that is routinely observed for questions like the bus problem. New York, NY: Basic Books. Introduction to Computation and Programming Using Python. 2 $\begingroup$ I am about to embark on a 'comprehensive' and thorough study of undergraduate mathematics. Paper presented at the CERME 9, Prague, CZ. Basic Learning and Practice Math software for Kids Math-A-Maze. I'm still tickled by the way programming makes easy work of the laborious stuff you have to do in math class, freeing you up to do the more fun of exploring, graphing, tweaking, and discovering. We find these contexts and choice keep our students interested and persistent when the concepts become difficult (Middleton & Jansen, 2011). Resnick, M., Maloney, J., Monroy-Hernández, A., Rusk, N., Eastmond, E., Brennan, K., et al. (2000). After all, “the best and worst thing about computers is that the computer will do exactly what you tell it to do” (Guttag 2013, p 4). Using the three types of division commands to discuss the meanings of remainders in context is just one example of mathematical learning in programming classes. In computer science courses, different programming commands act as tools that help focus attention on meaningful use of remainders. Second Edition. Silver et al. Algebra for all: Increasing students’ access to algebraic ideas, not just algebra courses. Some students succeeded with this approach, but many needed substantial help to solve the problem. In the bus question, 36 1/3 is rounded down to 36, leaving 12 soldiers without a bus. © 2020 Math + Code 'Zine | Exploring math through code, Diane taught mathematics and programming at a small secondary school in Eastern Ontario for many years. Viewed 235 times 3. There are increasing efforts to promote coding as a means for teaching mathematics (Gadanidis 2015; Misfeldt and Ejsing-Dunn 2015), specifically in elementary students (Papert 1980, 1993, 1994). Mindstorms: Children, computers, and powerful ideas. For example, the teacher might raise the problem of having the computer decide whether a number is odd or even. Teacher Moves that Lead to Math Learning in Programming. Guttag, J. V. (2013). As a mother of three young sons, she appreciates toys that make learning fun yet challenging. We also point to the challenges which emerged through this process in ensuring pupils encounter these mathematical ideas. Papert, S. (1980, 1993). In running the code, the code again becomes concrete. The one remaining students sits in the ‘1’ chair.’  This process is repeated with different decimal numbers until the students understand regrouping and binary place value. Follow her on Twitter @lisaannefloyd. We describe the overall design of SM and as an illustration of the approach, we elaborate a more detailed description of the specific SM activities that seek to harness the programming concept of ‘objects communicating with one another’ for the exploration of the mathematical concept of place value through a syntonic approach to learning. Coding develops computational thinking – skills such as problem solving, pattern recognition, problem decomposition and abstraction to create models, algorithm design, and the analysis and visualization of data (Wing 2006). This pseudo-code, code, test cycle also helps students move through levels of abstractness (Ke, 2014). In our classes, we start discussing specific concrete mathematical problems, and then represent the problem solution in pseudo-code, before writing the solution in code. After this discussion, the class might then outline the logic of the program in pseudo-code before the students work to make the computer solve this problem. Our experiences suggests there is great potential for mathematics learning in coding: teachers must plan for the mathematics to be visible to students for mathematical learning to occur.