Let’s see an example of what our students can do in math class!
Joining Cubes Problem (adapted from John Lannin, 2005)
Smiley Inc. makes colorful rods by joining cubes, as you see below. This first rod below is of length 3 since 3 cubes were joined together to create it. Smiley Inc. uses a machine to place precisely one sticker on each exposed face of each cube. Since every exposed face of each cube must have a sticker, the rod of length 3 below needs 14 stickers.
- Take some time to write a description of how you "see" the number of stickers changing as the rod increases in size. You may use drawings, words, numbers, or symbols.
- How many stickers do you need for rods of lengths 1 to 10? Explain how you determined these values.
- How many stickers do you need for a rod of length 20? Of length 50? Explain how you determined these values.
- Explain how to find the number of stickers needed for a rod of any length. Write a formula that you can use to determine this.
- Now, use a for loop to determine how many stickers you need for rod lengths 20 through 50. Explain the results.
Using a “for loop” in the text-based programming language, Python, we can verify the results from question 2 as seen here:
Possible Python Solution for Question 5:
***The code may be used
earlier to help generate the formula or rule but be sure not to reveal this rule to
the student if they have not already constructed it!***
This is especially important
given the existence of various student interpretations and constructions of
meaning. Notice how both rules above will generate the same thing but are not
discovered in the same way.
A little more challenging!
S-Pattern Problem (adapted from Samuel Otten, n.d.)
Consider the S-pattern made up of squares below. We will assume this S-pattern continues to grow in the same way, with it increasing by row and column.
- Take some time to write a description of how you "see" the number of squares in the S-pattern. You may use drawings, words, numbers, or symbols.
- How many squares do you need for the S-pattern in steps 6 to 9? Explain how you determined these values.
- How many squares do you need for the S-pattern in step 20? For step 50? Explain how you determined these values.
- Explain how to find the number of squares needed for any step of the S-pattern. Write a formula that you can use to determine this.
- Now, use a for loop to determine how many squares you need for steps 20 through 50. Explain the results.
Using a “for loop” in the text-based programming language, Python, we can verify the results from question 2 as seen here:
What Does the Research Say?
What We Know
Prior
research shows how essential and influential technology is to the teaching and
learning of mathematics. Research indicates that the appropriate integration of
technology within mathematics classrooms can support student learning while
enhancing their attitudes and experiences toward the subject (Forsström, 2018; NCTM,
2000; Thompson, 2020). Creating an environment that promotes this is powerful
and can be done by providing opportunities to explore mathematics more deeply
(Chance, 2007; Garofalo, 2000).
Technology
and computer science have evolved drastically in the current century and are
now ingrained in every facet of society (Nouri et al., 2019). Because of this,
countries like Australia (Falkner et al., 2014), England (Brown et al., 2014),
Finland (Mannila et al., 2014), Sweden (Kilhamn & Bråting, 2019), and the
United States (Fisher, 2016) have recently integrated computational thinking environments,
like text-based and visual block-based programming languages, within their
school curriculums (Bråting & Kilhamn, 2021).
While
studies have explored student learning surrounding text-based programming within
informal settings (Datta et al., 2017), few (Thompson et al., 2020) have
addressed whether students’ understanding of targeted mathematics content can
be supported by text-based programming languages like Python in a formal mathematics
classroom. Furthermore, there is little research on student and educator
perceptions of using text-based programming to learn mathematics content
(Weintrop, 2015).
Future Work
To
address gaps in prior work, I aim to explore how the integration of computer
programming can potentially interact with, afford, or constrain students’
learning of mathematics content. I also intend to investigate the perceptions
of students and educators surrounding the use of a text-based programming
language for learning.
Possible Research Questions
1. How can a text-based programming language support students’ understanding of targeted mathematics content?
2. How do students perceive text-based programming as a tool to learn mathematics content?
3. How do mathematics and computer science educators perceive text-based programming as a tool to learn mathematics content?
References
Chance, B.
L., Ben-Zvi, D., Garfield, J., & Medina, E. (2007). The role of technology
in improving student learning. Technology Innovations in Statistics Education,1
(1).
Datta, Soma, and Veneela Nagabandi. 2017. Integrating Data Science and R Programming at an Early Stage. 2017 IEEE 4th International Conference on Soft Computing & Machine Intelligence (ISCMI), doi:10.1109/iscmi.2017.8279587.
Forsström, S., & Kaufmann, O. (2018). A Literature Review Exploring the use of
Programming in Mathematics Education. International Journal
of Learning, Teaching and Educational Research. 17. 18-32.
10.26803/ijlter.17.12.2.
Garofalo,
J., Drier, H. S., Harper, S., Timmerman, M.A., & Shockey, T. (2000).
Promoting appropriate uses of technology in mathematics teacher preparation.
Contemporary Issues in Technology and Teacher Education.
Lannin, J. (2005). Generalization and Justification: The Challenge of Introducing Algebraic Reasoning Through Patterning Activities. Mathematical Thinking and Learning. 7. 231-258. 10.1207/s15327833mtl0703_3.
National
Council of Teachers of Mathematics. (2000). Principles and Standards for School
Mathematics. Reston, VA: Author.
Thompson, J. C., Wu, S., & Mills, J. (2020). The use of computer programming in a secondary mathematics class - the CCL. The Use of Computer Programming in a Secondary Mathematics Class.
Weintrop, D. (2015). Comparing Text-based, Blocks-based, and Hybrid Blocks/Text
Programming Tools. in Proceedings of the eleventh annual International Conference on International Computing Education Research. ACM., pp. 283–284.





