By Sarah Hampton
In a former post, I wrote about a site I discovered while exploring the 2016 Stem for All Videohall called Bootstrap.
Bootstrap designs curricula that meaningfully integrate rigorous computer science concepts into more mainstream subjects such as math and science. Developed with the help of Brown, WPI, and Northeastern, Bootstrap has backing from several major players including Google, Microsoft, and the National Science Foundation. If that isn’t enough to pique your interest, initial research shows that Bootstrap is one of the only computer science curriculums that demonstrates measurable transfer to algebra, specifically on functions, variables, and word problems. (Wright, Rich, & Lee, 2013 and Schanzer, Fisler, Krishnamurthi, & Felleisen, 2015)
Recently at our school, Sullins Academy, the middle school math teachers (including myself) and the schoolwide technology teacher met to discuss and coordinate implementation of Bootstrap’s algebra curriculum for our eighth graders. The curriculum combines principles of mathematics and programming as students create their own simple video game. Before the meeting, we independently worked through the first unit which included dissecting the parts of a video game, relating the coordinate plane to positioning, relating the order of operations to program evaluation, and planning our own basic video game. After talking about our reactions to unit one, we worked through unit two, distinguishing data types used by programs and writing functions to manipulate them, as a group.
After working through the first two units, we knew Bootstrap was something we wanted to try with our students for three main reasons:
- Bootstrap makes algebra relevant and accessible to all learners. This could be a game-changer for traditionally disengaged math students.
- Computational thinking (CT) is huge for computer science and math, and Bootstrap is a great way to develop it. According to the Center for Computational Thinking at Carnegie Mellon, CT is “a way of solving problems, designing systems, and understanding human behavior that draws on concepts fundamental to computer science. To flourish in today’s world, computational thinking has to be a fundamental part of the way people think and understand the world.” We agree and want to actively cultivate CT in our students.
- Bootstrap might be more motivating for students than a block language like Scratch because they are typing real code. They might feel more as if they are engaged in “real” programming. (Although, we know that the learning outcomes of Scratch can be extremely high-level and beneficial, we have heard students make derogatory comments about block languages being elementary.)
So we knew we wanted to implement Bootstrap, but we still had a big question: when and through what class (math or technology) would this be taught? Similar to most cross-curricular projects, there would be difficulty meeting standards organically for both classes. We decided to implement the curriculum predominantly through the technology class with crossovers in the eighth grade math classes as they naturally arise. (I am lucky to work in a school where we are encouraged to work across classes. Flexibility and collaboration are two of my favorite things about our school.)
Now that we have a plan in place, we are all really excited about the potential learning outcomes. We hope it shows students that math and technology do not exist in individual bubbles and that standards are not just isolated facts to memorize or know for a test. All subjects and content are integrated in real life for authentic purposes. The technology teacher hopes that this will make students realize that programming is within their grasp. It’s not this abstract, crazy, no-way-I-can-do-it sort-of-thing thing. Even if students don’t program again, the technology teacher hopes that it helps with troubleshooting abilities and independence. In addition, she hopes it will motivate students to improve their typing skills and realize why attention to detail is important, for example, when they see that even one missing parenthesis or misspelled word will break the program. Beyond the obvious desire for students to better understand algebra, the math teachers hope it allows students to see that math is really useful beyond the classroom. Most importantly, we hope working on Bootstrap displaces the teacher and puts the students at the center of the learning by improving metacognition and developing perseverance as they work through their error messages. In this way, students might grow out of the teacher-dependent mentality and learn to trust and rely on themselves and each other.
Keeping it real, we are concerned about a few things as well. It was interesting to see our reactions to the curriculum because the technology teacher has ample programming experience, I only have some, and the third teacher has no former experience. This was a fortunate coincidence because it represents the spectrum of prior knowledge our students will have as well. Overall, Bootstrap provides enough scaffolding for any previous exposure to programming as long as you are comfortable with a “learn as you go” approach, although occasionally, it did seem as if Bootstrap made an optimistic assumption about what students would know coming in. For those with no prior experience, we would have liked more direct instruction on key vocabulary, syntax requirements, and reading and diagnosing error messages. Another concern is keeping all students engaged for the length of the project. Undoubtedly, some students will be able to fly through the curriculum while others need a bit more time. We hope the answer to this problem lies in offering the extensions Bootstrap has built in for quick learners.
Overall, we are really looking forward to seeing what Bootstrap can do for our students. Our plan is in place so may the adventure continue! I will keep you posted.
Have any of you implemented Bootstrap or another computer science curriculum like Logo or Scratch? Did you see transfer to math or science? What advantages did you notice? Are there any obstacles you can help us navigate? We would love to learn from you!
Citations and Further Reading
Schanzer, E., Fisler, K., Krishnamurthi, S., & Felleisen, M. (2015). Transferring Skills at Solving Word Problems from Computing to Algebra Through Bootstrap, ACM Technical Symposium on Computer Science Education, 2015.
Available at:
http://cs.brown.edu/~sk/Publications/Papers/Published/sfkf-trans-word-prob-comp-alg-bs/paper.pdf
Wright, G., Rich, P. & Lee, R. (2013). The Influence of Teaching Programming on Learning Mathematics. In R. McBride & M. Searson (Eds.), Proceedings of SITE 2013–Society for Information Technology & Teacher Education International Conference (pp. 4612-4615). New Orleans, Louisiana, United States: Association for the Advancement of Computing in Education (AACE).
Available at:
https://www.learntechlib.org/p/48851/.
Center for Computational Thinking at Carnegie Mellon.
Available at:
https://www.cs.cmu.edu/~CompThink/