Teaching Algebra Through Functional Programming:An Analysis of the Bootstrap Curriculum
Total Page:16
File Type:pdf, Size:1020Kb
Brigham Young University BYU ScholarsArchive Theses and Dissertations 2013-03-16 Teaching Algebra through Functional Programming:An Analysis of the Bootstrap Curriculum Robert Lee Brigham Young University - Provo Follow this and additional works at: https://scholarsarchive.byu.edu/etd Part of the Educational Methods Commons, Game Design Commons, and the Science and Mathematics Education Commons BYU ScholarsArchive Citation Lee, Robert, "Teaching Algebra through Functional Programming:An Analysis of the Bootstrap Curriculum" (2013). Theses and Dissertations. 3519. https://scholarsarchive.byu.edu/etd/3519 This Thesis is brought to you for free and open access by BYU ScholarsArchive. It has been accepted for inclusion in Theses and Dissertations by an authorized administrator of BYU ScholarsArchive. For more information, please contact [email protected], [email protected]. Teaching Algebra Through Functional Programming: An Analysis of the Bootstrap Curriculum Robert William Lee A thesis submitted to the faculty of Brigham Young University in partial fulfillment of the requirements for the degree of Master of Science Geoffrey A. Wright, Chair Peter J. Rich Jay A. McCarthy Keith R. Leatham School of Technology Brigham Young University March 2013 Copyright © 2013 Robert William Lee All Rights Reserved ABSTRACT Teaching Algebra Through Functional Programming: An Analysis of the Bootstrap Curriculum Robert Lee School of Technology, BYU Master of Science Bootstrap is a computer-programming curriculum that teaches students to program video games using Racket, a functional programming language based on algebraic syntax. This study investigated the relationship between learning to program video games from a Bootstrap course and the resulting effect on students’ understanding of algebra. Courses in three different schools, lasting about six weeks each, were studied. Control and treatment groups were given a pre and post algebra assessment. A qualitative component consisting of observations and interviews was also used to further triangulate findings. Statistical analysis revealed that students who completed the Bootstrap course gained a significantly better understanding of variables and a suggestive improvement in understanding functions. In the assessments, students failed to demonstrate a transfer of the advanced concepts of function composition and piecewise functions from programming to algebraic notation. Interviews with students demonstrated that with coaching, students were able to relate functions written in Racket to functions written in algebraic notation, but were not yet able to transfer their experience of function composition from programming to algebra. Keywords: Bootstrap, Racket, functional programming, algebra, functions, variables ACKNOWLEDGMENTS First my appreciation to the Bootstrap research team at BYU, who put together the Bootstrap courses and associated research. Thanks to the professors, who also made up my committee; the instructors of the Bootstrap courses, Anna McConnell and Emily Chien at Dixon Middle School, Scott Bartholomew and Blake Johnson at Vista Heights Middle School, and Judson Birkel and Courtney Ward at Lehi High School, and Kiya Hall who was a great help as a consultant and put in countless hours as a grader. Particular thanks to Geoff Wright, who helped me piece this whole project together, and Peter Rich, and his extensive consultation in and out of class, particularly the help at AACE and AECT. My appreciation to the other TEE professors, Drs. Shumway, Terry, and Christensen. I need to thank my statistics team from Dr. Eggett’s (The Egg) class, Jared Merrill, Katie Gustafsen, and Erica Hansen who helped put together the statistical analysis. A big thanks to my family for their patience while I’ve been so busy, “daddy can now play again.” I am greatly appreciative of the love and support of my lovely wife Amber – first a compiler for undergrad, now a thesis. And finally, my appreciation to Emmanuel Schanzer, the creator of Bootstrap and who has been a very helpful consultant throughout this research. TABLE OF CONTENTS LIST OF FIGURES ................................................................................................................... viii 1 Introduction ........................................................................................................................... 1 1.1 Statement of Problem ...................................................................................................... 2 1.2 Background ..................................................................................................................... 3 1.2.1 TeachScheme! ............................................................................................................. 3 1.2.2 Bootstrap ..................................................................................................................... 5 1.2.3 Racket ......................................................................................................................... 5 1.2.4 Functional Programming ............................................................................................ 7 1.3 Motivation for Study ..................................................................................................... 10 1.4 Purpose .......................................................................................................................... 12 2 Literature Review ............................................................................................................... 13 2.1 Logo .............................................................................................................................. 13 2.1.1 Background ............................................................................................................... 14 2.1.2 Logo and Bootstrap Compared ................................................................................. 17 2.1.3 Studies ....................................................................................................................... 20 2.2 Scheme .......................................................................................................................... 26 2.3 Recent Trends ............................................................................................................... 27 2.4 Discussion ..................................................................................................................... 29 3 Methods and Procedures .................................................................................................... 31 3.1 Courses .......................................................................................................................... 31 3.2 Assessments .................................................................................................................. 33 3.2.1 Questions on Variables ............................................................................................. 34 3.2.2 Question on Order-of-Operations ............................................................................. 35 iv 3.2.3 Questions on Functions and Transfer ....................................................................... 36 3.2.4 Other Algebra Questions ........................................................................................... 42 3.3 Statistical Methods ........................................................................................................ 43 3.4 Interviews ...................................................................................................................... 45 3.4.1 Participants ................................................................................................................ 47 3.5 Delimitations ................................................................................................................. 50 4 Results .................................................................................................................................. 51 4.1 Quantitative Results ...................................................................................................... 51 4.1.1 Results for Vista Heights Middle School .................................................................. 52 4.1.2 Results for Lehi High School .................................................................................... 56 4.2 Qualitative Results ........................................................................................................ 60 4.3 Discussion ..................................................................................................................... 63 5 Conclusions and Recommendations .................................................................................. 65 5.1 Summary of Findings .................................................................................................... 65 5.1.1 Scope of Inference .................................................................................................... 67 5.2 Benefit of Functional Programming ............................................................................. 67 5.3 Length and Intensity of Treatment ................................................................................ 69 5.4 Implications and Recommendations ............................................................................. 70 5.5 Summary Statement .....................................................................................................