Artifact 13 : Python Pre-Algebra


Primary Alignments:

Standard 2: The goal if this program is to explore how computer programming can be used to help students better understand pre-algebra concepts.

Standard 3: The lesson draws on constructivism and variation theory.

Goal 2: This project represents an attempt to create a constructivist model of teaching to pre-algebra concepts.

Secondary Alignments:

Standard 4: This is designed as a lesson study where the results of the program will be analyzed.

Standard 6: This lesson was and commented on by two peers. I also reviewed and commented on their lesson plans.

Goal 1: The lesson study is a reflection on the manner of my teaching and the construction of the curriculum.

Python Pre-algebra: A lessons study on the use of variation theory and computer programming in teaching for understanding

Chris Kjorness

Michigan State University


One of the greatest challenges math educators face is making mathematics feel relatable to students. Often students view math as a language detached from their daily lives, and they tend to view right and wrong as answers being determined by whims of the teacher, the textbook, or the test. This math alienation might be most acutely felt in the middle grades, as students transition from basic operations and begin exploring variables, decimals, and integers. In this lesson study, I aim to make mathematics, specifically concepts associated with pre-algebra, come to life through the use of the computer programming language of Python and its Turtle Graphics module. The study will be conducted over twelve weeks with a group of 6th and 7th grade students at a charter school in Grand Rapids, Michigan. Through a series of programming mini-lessons and activities based on variation learning theory, given three days a week, I hope to show that studying computer programming can help students learn the pre-algebra concepts of performing mathematical operations with integers, mathematical functions, and finding points on the coordinate plane, as assessed by pre- and post-assessments of aforementioned skills.

Math Alienation

Darren is a good kid. While his mostly impish antics get him branded as a “high-flyer” by some teachers, he can follow classroom expectations if given clear instructions and incentives. His frequent jokes and deft attempts at manipulating the rules of the middle school to his advantage highlight a sort of intelligence that is hard to track with a standardized assessment.

Chris Kjorness: We need to work on your two-digit multiplication.

Darren:No we don’t Mr. K. I got that.

CK: OK. How about 41 * 15?

D: Easy, 45. 1*5 is 5 and 4*1 is 4, so 45.

CK: So wait, let’s say I have a job and I get paid $15 an hour. If I work 41 hours I only get $45?

D: Looks like you got finessed.

CK: Right, that’s why I want to work with you on two-digit multiplication, so you don’t get finessed.

D: Don’t worry about that; I don’t get finessed. I’m the finesser.

Darren’s attitude towards math reflects an attitude common amongst the middle schoolers with which I have worked. They are smart and cool, and they do not see math, at least the way that we are teaching it, as having any relationship to their lives. School is school and life is life; there is little way that understanding math can really help them in their lives. Much of this is the outgrowth of how math has been taught to them. In fact, it is the product of a number of decisions that have been made concerning math education in the United States in the past hundred years.

At the beginning of the 20th century, it was assumed that those taking math in high school were going to college. As a result, the math curriculum was focused on college preparation. This curriculum remain the same even as more Americans began attending high school. By the middle of the century, “the previously rigorous math curriculum seemed to be too daunting for many students and…per capita enrollment in math classes decreased” (Schoenfeld, 2010, p. 256).

The problem with this math curriculum became evident during World War II, when field generals discovered that the young people coming into the service did not have the mathematical skills they needed. A push for a more understanding and applied approach mathematics education began. What has followed is a decades long debate over the character of mathematics education in the United States. On one side are those who champion the rigor of calculation and test preparation and on the other those that argue for teaching for rich understanding through problem-solving and hands-on activities. The most recent flare up in this math war has been over the common core standards. While not a prescription for instruction, the standards did represent a move towards constructivist models of education and “decreased (amount of) attention on traditional means that were rote operations” (Shoenfied, 2004, p.267).

While it is tempting to fall for the dichotomia presented by the Math Wars, it is important to recognize that “competency in math requires children to develop conceptual knowledge, procedural knowledge, and procedural flexibility” (Rittle-Johnson, 2017, p.184). Still, tradition and the fact that operational fluency easily translates to standardized tests, means that for the average student being “good at math” is usually a measure of either their ability to compute fluently or execute complex calculations with pencil and paper. In essence, math education in the United States is focused on test taking and college preparation, rather than an understanding of the application of mathematical thinking to solve real-world problems.

Still mathematical understanding is essential to science, engineering, accounting, and all manner of prosaic household tasks. So, a “lack of access to mathematics is a barrier—a barrier that leaves people socially and economically disenfranchised” (Shoenfield, 2004, p. 255). But the way in which mathematics is taught leaves students feeling detached.  

The price of this math alienation is not just that students do not feel a connection with math, it also means that students feel that mathematics lies outside of the world of the objective, and as such math becomes imbued with messages about authority, conformity, and who does and does not belong. Many of us have had the experience of getting a question wrong on a math test and not understanding why. We feel like we have been finessed. And the only appropriate response is to rebel or become as Darren stated “the finesser”. This can be seen in the research that Erlwanger (1973) did on Individually Prescribed Instruction (IPI). In the case study the author assessed the mathematical understanding who had been identified by instructors as having been very successful in learning through IPI. While the student has rightly been liberated to discover the world of mathematics through inquiry and construct his own understanding, the only feed back he is given is “right” or “wrong”. As a result, he constructs complex explanations for why his answers are right, and how seemingly disparate answers can both be right, eventually reaching the conclusions even simplest of calculations can have more than one “right” answer, you have to put what is on the key, even if the key is wrong and that “in fractions we have 100 different kinds of rules” (Erlwanger, 1973, p.51).

While on the surface this may seem alarming, it is in fact the way we have trained students to think about mathematics: an elaborate series of manipulations of data, largely unconnected to the real-world, that if done correctly will yield the correct result, which is to be verified by an outside source through the one of two words “right” or “wrong”.

It is no wonder that many people who would be mortified if someone accused them of not being able to read, laugh-off the fact that they are “not good at math”. This, in spite of the fact that we know how much the principles of mathematics run the world around us. People learn to view the mathematics that they learn in school as “arbitrary and mysterious–a subject that only ‘geniuses’ can master (Lambdin, 2003, p.10). It is also worth mentioning the social power dynamic at play when the teachers and assessment makers come from a dominant culture and are giving instruction and judging the performance of minority students.

The lack of authentic feedback, the perceived arbitrary nature of mathematics, and the power imbalance between teachers and students may explain why many of the at-risk students that I saw in 6th and 7th grade felt so alienated from mathematics. As the curriculum in the late primary and early middle school years shifts to more abstract and complex concepts students to “begin to lose their belief that learning mathematics is a sense-making experience” (NCTM,1989, p.15), and are faced with the option of being the finessed or the finesser.  

In order to combat math alienation, students need to be given an environment with build in feedback where they can experiment with the concepts they are learning and evaluate the feedback that they are getting. Computer programming presents an opportunity to provide this environment.

Python and Turtle Graphics

Python is a popular, high-level programming language. It is currently used for backend development at a number of well-known organizations including Google, Disney, and the United States Central Intelligence Agency. While Python features a great deal of flexibility, making it a great programming language for complex management of data, the language is purposefully streamlined in a way that makes it easy to get started working in Python. In fact, Python is often suggested as a good first, formal programming language to learn. In short it is, “beautifully simple language with a wide variety of applications” (Team Commerce, 2018).

The Turtle Graphics Module, is a collection of objects and actions (methods) that can be used in Python to create simple animated graphics. The module allows the programmer to produce a screen or canvas and then command an object called a turtle (although, it can be a variety of shapes) to move to various points on the canvas using ordered pairs, or measurements in pixels and degrees.

Given the required values to navigate the turtle (pixels, degrees, and order pairs), Turtle Graphics provide an excellent opportunity for an authentic constructivist learning experience for students of pre-algebra. The module affords students the opportunity to enter in numerical data in the form of mathematical expressions or ordered pairs and see how the values affect the turtle’s location and movement on the canvas.

Figure 1: Screenshot of artwork created using Python Turtle Graphics

This feedback allows student to develop an understanding of the concepts that goes beyond mere procedural understanding. Python Turtle Graphics provide students the opportunity to construct their understanding from trial and error with consistent feedback from the environment.

The program is made up of a series of online modules and variation learning activities. All of the resources are available online and students progress through them in order at their own pace. All programming in Python is done through the website Trinket.io. Trinket is a free development environment that runs entirely online. Students may create programs and share the results with their friends and families. One key advantage of Trinket, is that it is fully online and can be run on any device.

Figure 2: Visual representation of y = x + 10

Learning Modules and Early Experiences

Of course, one of the biggest challenges in implementing this program will be getting students familiar with computer programming. This is done through a series of introductory modules like the one seen here. These short modules teach students essential elements of working in Python and are written in such a way as to introduce more broad computer science concepts. The module features understanding checks, as well as a link to the Trinket development environment. It is worth noting that learning the foundational concepts of computer program is a worthy pursuit in and of itself, and the modules are structured in such a way as to introduce key concepts in computer science to the students, through the use of the book How to Think Like a Computer Scientist (Miller, et al. 2014) as a model.

As I was not really sure how easily 6th and 7th grade students could learn the Python programming language, I was able to teach four half-hour workshops with 6th and 7th grade students at the Cook Humanities Library in Grand Rapids, Michigan this fall. I wrote two to four line starter programs that they would write and then encouraged them to try the program out. After they got it to work, I encouraged them to experiment with changing things in the program and see what changed. I was pleased to see that they work in Python with some guidance fairly easily. I am confident that once our program begins, students will not have any significant trouble programming in python.

Variation Theory

An essential element in the construction of the lessons is variation learning theory. Variation learning theory seeks to have the learner “separate the focused object from other objects,use(s) fusion to find similarities between different objects and by that develop an ability to generalize” (Holmqvist, 2008, p. 499). Specifically, in this program, students will be manipulating values in order to construct an understanding of mathematical concepts. For example, students are taught how to use expressions to move the Turtle. For example: Define the variable x as 32+17.Then write the command turtle.forward(x). This will cause the turtle to move forward 49 pixels. The students will conduct experiments with two values (chosen at random) and then experiment with making the values positive and negative. The students do this with all operations, and various combinations of + and – numbers, noting the results each time. The concepts are revisited in a later exercise, where values, opperorations, and which integers are positive or negative will determined at random, students will have to predict which turtle will win the race.

This exercise is just one example of how students will use variable theory to construct a deeper understanding of pre-algebra concepts. Instead of simply solving equations and performing operations, students will be asked to isolate different variables within a math expression and observe what happens when they change. Instead, of only getting a numeric value, they will get feedback from how the Turtle moves on the screen. After students begin forming ideas of how positive and negative values effect integers in basic mathematical operations. In this way, the object of the lessons and tasks in this unit is not to explicitly teach everything, but rather “to create an environment to prompt exploration and facilitate the child’s experience of rethinking ideas” (O’Donnell, 2012, pp. 62-63).

Lessons and Assessments

In addition to integers, the other standards being taught are mathematical functions, and finding points on the coordinate plane. An outline of the the lessons progress is as follows.



  1. Introduction to Computer Programming and Python (online interactive module)
  2. Variables in Computer Programming (online interactive module)
  3. Are Computers Smart?: Python as a calculator and data types (online interactive module)
  4. I’m a Teacher and a Scholar – variation learning activity where students use Python to write a sheet of math problems using randomly generated numbers. While making a sheet they make an answer key and conceal it in an envelope. They exchange problems with a partner who completes the worksheet, and then they check each others actions


  1. Meet Ty (online interactive module introducing the python graphics module)
  2. Sometimes Ty goes negative. (variation learning activity exploring positive and negative integers). Students are given a set of playing cards. Students draw two at random and set the two values and add, subtract, multiply, and divide them. Students note what happens and try to construct a rule for when Ty will go forward and when Ty will go backward.
  3. Ty Breaks Ankles (online module introducing turns and speed)
  4. Ty goes to art class (variation learning activity to explore shapes and angles and get familiar with the Python Turtle.)
  5. Ty goes to the mall (optional online interactive module introducing object properties and documentation)


  1. Ty the explorer (interactive learning module introducing coordinate plane and the commands goto and penup/pendown)
  2. variation learning activity that has students send the turtle to different points on the coordinate plane and then print its location
  3. That was random (optional interactive learning module introducing the random module)
  4. Message activity (learning activity that has students use ordered pairs to have Timmy write a message of their choosing)


  1. Ty Repeats himself (online interactive module introducing for loops)
  2. Ty’s art class (variation learning activity where students draw triangles and squares using loops)
  3. And 1 (online interactive module introducing the use of accumulator patterns in loops)
  4. Funky functions (variation learning activity where students create animations–turtle drawing triangles and squares–using various mathematical functions as accumulator patterns, having printing on the screen the result each time)


In addition to including an assessment of the mathematical skills being targeting in the study, the pre and post assessment will include a survey to gauge students confidence level with computer programming and the perceived applicability of pre-algebra concepts in daily life.


Currently, I am working on implementing this program. Already, I have learned that middle school aged students can learn to write in Python in the Trinket development environment without too much frustration. I look forward to seeing how using computer programming and variable theory can help students gain a greater understanding of key pre-algebra concepts. It is my belief that this will be seen in the difference between the pre and post assessments, which will focus not only on skills being taught, but will include a few challenge problems that require higher-level application of the three key concepts.


Erlwanger, S. (Autumn 1973) Benny’s Conception of Rules and Answers in IPL Mathematics Journal of Children’s Mathematical Behavior (1),pp. 7-26

Holmqvist, M., Teachers’ learning in a learning study, Instructional Science (2011) 39: 497-511 https://doi.org/10.1007/s11251-010-9138-1

Lambdin, D.V. (2003). Benefits of Teaching through Problem Solving, In F. K. Lester Jr. (Ed.), Teaching Mathematics through Problem Solving: Prekindergarten – Grade 6 (pp. 3-15).

National Research Council. (1989). Everybody counts: A report to the nation on the future of mathematics education. Washington, DC.

O’Donnell, A. (2012). Constructivism. In APA Educational Psychology Handbook: Vol. 1. Theories, Constructs, and Critical Issues. K. R. Harris, S. Graham, and T. Urdan (Editors-in-Chief). Washington, DC: American Psychological Association. DOI: 10.1037/13273-003.

Rittle‐Johnson, B. (2017, March 04). Developing Mathematics Knowledge. Retrieved September 16, 2018, from https://onlinelibrary.wiley.com/doi/full/10.1111/cdep.12229

Schoenfeld, A. (2004, January & March) The Math Wars, Educational Policy, (18 ,1) pp. 253-286

Team Commerce, (2018, July 3) Most highly paid programmers know Python. You can learn it via an online course for just $44, Mashable, retrieved from https://mashable.com/2018/07/03/python-coding-online-course-sale/#_bHoCB1YuqqU

Leave a Reply

Your email address will not be published. Required fields are marked *