the influence of teaching programming on learning

advertisement
THE INFLUENCE OF TEACHING PROGRAMMING ON
LEARNING MATHEMATICS
Geoff Wright, Peter Rich and Robert Lee
Brigham Young University
United States
ge.wright@gmail.com
peter_rich@byu.edu
robert.leefam@gmail.com
ABSTRACT
There are several correlations between mathematics and programming, logistical thinking, problem solving, functions,
variables, coordinates, and so forth. Many have argued the benefit of learning one having a positive influence on
learning the other. Strangely, despite this belief, and supporting evidence, curriculum having a focus explicitly tied to
mathematics and programming is not common in today’s K-12 classrooms. This project investigates a curriculum,
titled: Bootstrap, that was explicitly developed to make mathematics connections to programming. The curriculum was
implemented at three schools. A pre and post mathematics inventory was used to measure the impact teaching this
course (which used a video game development programming pedagogy) had on student understanding of mathematics.
The findings from the study suggest that student understanding of functions and variables did increase after
participating in the course.
KEYWORDS
Programming Mathematics Technology Transfer Convergent Cognition
BACKGROUND
There has long existed a highly correlated relationship between academic success in
mathematics and computer programming (Wright, Rich, & Leatham, 2010; Rich et al., 2012).
Studies on the use of Logo in education demonstrate increased pattern recognition, fraction
comprehension (Clements, 1995), problem-solving (Subhi, 1999), geometry, understanding of
variable (McCoy, 1996), and spatial and symbolic mental representations (Hoyles & Noss, 1992),
among many other cognitive factors (Clements, 2002).
Despite years of research, teaching math through computer programming has not been
generally adopted by secondary education (Johnson, 2000). Schanzer (2011) argues that much of
the research curricula use imperative programming processes from languages such as Logo and
BASIC. Imperative programming uses constructs such as loops, mutable variables, procedures,
and GOTO statements that are not related to algebra. Students learning these curricula may be
learning syntax and programming structures rather than algebraic concepts (p. 9). In 2005,
Schanzer developed a curriculum called Bootstrap. The curriculum teaches algebraic concepts
through programming computer games. Bootstrap uses Racket, a pure functional language,
which initiates execution through algebraic expressions (Felleisen, 2009; Schanzer, 2011).
The purpose of this study was to explore how learning the functional language Racket
through the Bootstrap curriculum teaches the algebraic concepts of variables and functions to
middle school students.
Bootstrap was started by the TeachScheme! program team with Emmanuel Schanzer.
Bootstrap has been implemented as an afterschool program. Felleisen (2010) states that “the
program currently works with students in some ten underserved neighborhoods across the U.S.”
(web retrieval) Felleisen asserts that the Bootstrap program “provides the strongest evidence yet
that teaching functional programming directly affects the mathematics skills and interests of K-12
students” (web retrieval ). The TeachScheme! program, started in 1995, is an outreach project
hosted by six universities. The program addresses the problems that stem from teaching objectoriented languages in beginning computer science classes. Part of the TeachScheme! program is
to help all students better learn math through programming. Through TeachScheme!, Scheme has
become the primary language researched in the math education through programming paradigm.
Two studies presenting evidence of the value of Scheme/Racket to students’ math
education have recently been document. One study was conducted by a teacher (Ms. North) at
Westside High School in the Houston Independent School District in Texas. The other study was
conducted by Paz et al. in northern Israel.
North claims on her website that 100% of her 9th grades students enrolled in a
combination programming/algebra class passed both the school district snapshot test and the math
TAKS (Texas Assessment of Knowledge and Skills) Test. The result was compared to only 60%
of students at the same high school passed the tests.
Paz studied 11th grade students at various schools in Northern Israel. The study was a
qualitative empirical study that began with “mathematical issues that came up serendipitously
during a functional programming course.” The result of the study showed that a programming
course in Scheme did help learning about functions, but also led to confusion about the formal
function concept.
There are not enough studies to back the claims of teaching Scheme helps students with
algebraic skills. Instead, the idea is presented as a natural outcome of the functional nature of
Scheme (See Felleisen et al. 1999). There is a need to investigate in a more disciplined manner
the effect learning mathematics through Scheme has on students’ actual mathematic ability.
RESEARCH
In 2011 researchers from LPU, a large private university (an acronym) taught secondary
students at two middle schools and local high school to program using the Bootstrap curriculum.
Middle school participants (N = 17) opted to participate in an after-school programming
curriculum to learn to make computer games. Math assessment comparison scores with a control
group indicated that these students were representative of 7-8 graders in their schools. High
school students (N = 7) represented 10-12th grade students who traditionally struggled with
mathematics and were place in the course during school hours.
Though there are many who focus on creating educational games for learning, Kafai
(2006) proposes that we “turn the tables: by making games for learning instead of playing
games for learning” [emphasis added] (p. 36). Bootstrap is a 9-lesson course that purports to
teaches kids to program a computer games to introduce mathematics such as Cartesian
Coordinates, order of operations, and the Pythagorean Theorem. By using a pure functional
programming language, students gain practice at using variables and functions. The curriculum
teaches that variables can be various types of objects, including integers, strings, and images. The
advanced algebraic concepts of composition of functions and piecewise functions are used as part
of development.
We used a pre-test/post-test repeated measures design to better understand the link
between programming and learning math, administering algebraic assessments both before and
after the course. In each case, we matched participants with a control group of their peers in the
same grade, administering the pre and post assessments in either an algebra or communications
course. A multiple regression analysis was conducted on the scores from the assessments to
determine if the Bootstrap students gained a statistically better understanding of the expected
concepts.
To understand student thinking about algebraic and programmatic concepts, we
conducted structured interviews with participants from each Bootstrap group. Structured
interviews revolved around asking students to solve several questions and to talk through their
thought process out loud.
Written assessments covered: variables, functions, Order of Operations, and the transfer
of concepts to algebraic notation. To understand students’ concept of variable, we used items
directly from the Knuth et al. studies. The questions on functions, operations, and transfer were
designed by the math education members of the team.
Using the pre-assessment score as a coefficient, a multiple regression analysis was
calculated on the difference between the post-assessment scores and the pre-assessment scores.
An Effect Size was also calculated. Each category of questions was analyzed independently.
Where the assessments where analyzed for five different categories, a Bonferroni adjustment on
the p-value to 1% was used to determine statistical significance.
Of the three courses taught, statistical analysis was done with two of the courses, one
middle school course and the high school course. The middle school course consisted of 9
students from the Bootstrap course, and 17 students in the control group. The high school course
had 7 Bootstrap students, and 9 students in the control group.
Participants’ strongest scores came in their increased understanding of variables. The
middle school course showed a p-value of .0009 with a confidence interval of 1 to 3.38, with an
effect size of the scores was .91. The high school course showed a p-value of .002, confidence
interval from .46 to 1.58, with an effect size of .94. The assessments showed that students’
understanding of functions was suggestive, but inconclusive. The second course showed a pvalue < .0001 with a confidence interval of 3.25 to 6.8. But p-value for the third course was .09,
confidence interval of -.7 to .7. The Effect Size for the middle school course was .54, and the
high school course was .52. The assessments did not show any improvement on the
understanding of Order of Operations. The results on the additional questions not related to the
course were mixed.
The weakest showing was in the category of transfer to algebraic notation. Most students
left these questions blank. Students from all three courses were interviewed concerning the
transfer of concepts to algebra. Because the students had worked for several weeks using Racket
notation, students readily understood functions written in Racket. Further, with some coaching,
most students interviewed noted that a function written in Racket could also be written in the
algebraic notation (i.e., f(x) ). Yet, when presented with questions on composition and piecewise
functions, students struggled with questions written either in Racket or algebraic notation.
From this study, we can conclude that these students did gain a better understanding of
variables and how they work in math, a traditionally difficult concept for students to master
(Knuth, Alibali, McNeil, Weinberg, & Stephens, 2005). Students also showed some
improvement in their understanding in functions, though that understanding did not transfer to
algebraic notation. From the interviews and assessments, it became clear that the biggest
inhibitor of learning functions was practice time. Composition and piecewise functions were
introduced at the end of the course, and students appeared to have not experienced enough
practice to fully develop the concept. Expanding the course could help resolve this issue.
An aspect of the course that we failed to measure but that appears very was students’
level of enthusiasm. While some students indicated that the course was fair, and preferred a
regular math class; many students expressed excitement over their accomplishments. One
student’s comment captured this sentiment well. He noted that that, although he had to create
equations in both math and in programming, that in programming, “the equation comes to life.”
The observation was that a project-based approach to math was more engaging than the standard
drill and practice. The implications of such motivation are potentially far-reaching. In our
presentation, we aim to present the full analysis of this study. In addition, we will present ideas
of different types of games that students could program that would utilize the mathematics
throughout the new Common Core that most states have adopted. As students engage with
mathematics in ways that “bring the equation to life,” we believe they may gain an even greater
understanding of the nature of such math in ways they cannot get in traditional math courses
alone.
REFERENCES
Clements, D. H., & Sarama, J. (1997). Research on logo. Computers in the Schools, 14(1-2), 9-46. doi:
Felleisen, M. (2010). TeachScheme!: A checkpoint. SIGPLAN Not., 45(9), 129-130.
Hoyles, C., & Noss, R. (1992). Learning mathematics and logo. Cambridge: MIT Press.
Johnson, D. C. (2000). Algorithmics and programming in the school mathematics curriculum: Support is
waning - is there still a case to be made? Education and Information Technologies, 5(3), 201-201214.
Kafai, Y. B. (2006). Playing and making games for learning. Games and Culture, 1(1), 36-40.
Knuth, E. J., Alibali, M. W., McNeil, N. M., Weinberg, A., & Stephens, A. C. (2005). Middle school
students' understanding of core algebraic concepts: Equivalence variable. ZDM.Zentralblatt Für
Didaktik Der Mathematik.Articles, 37(1), 68-76.
McCoy, L. (1996). Computer-Based mathematics learning. Journal of Research on Computing in
Education, 28, 438–460.
Subhi, T. (1999). The impact of LOGO on gifted children's achievement and creativity. Journal of
Computer Assisted Learning, 15(2), 98-108.
Wright, G., Rich, P., & Leatham, K. (2010). AC 2010-2130: Increasing student and school interest in
engineering education by using a hands-on inquiry based programming curriculum.
Download