A number of education advocates and leaders are seeking to shift the focus in mathematics education from procedural symbolic manipulation toward skills, like computational thinking, that better prepare students for the future of work. Because change in education takes time, how can math teachers expose students to these skills right now? In this post, I share some tools and tips for bringing computational thinking into a math classroom.
According to the International Society for Technology in Education (ISTE), computational thinking is a problem-solving process that involves identifying patterns, making abstractions, developing algorithms and formulating procedures for computers to use to find solutions. Writing code to solve a problem requires computational thinking. Students often need to look at a problem in a different way when creating an algorithm to find the solution. While troubleshooting code, they discover nuances of math that they may have otherwise missed. As they work, they develop stronger logical thinking, pattern-finding, and abstraction skills.
Many free activities can be found online to guide you and your students step-by-step, no matter your comfort level with coding. Some of my favorites include:
- CSandMath. This website provides lessons for elementary, middle, and high school math. In each lesson, students investigate and apply math concepts by writing code in Scratch, an easy-to-learn block programming language for all ages. Hints, challenges and teacher support are included.
- Python. Python is a free, popular, powerful and easy to learn programming language. For those new to Python, the book Math Adventures with Python: An Illustrated Guide to Exploring Math with Code by Peter Farrell is a good place to start. The book explains how to download and install Python and presents activities and challenges that build programming skills while asking students to explore math concepts. If I were still teaching Geometry, I would have students explore properties of polygons and transformations using Python’s Turtle drawing tools.
- STEMCoding. This project from The Ohio State University provides activities with videos that walk students through writing code to solve problems using math. No prior coding experience is required; teacher guides and support are provided.
- Hour of Code — This nationwide initiative by Computer Science Education Week and Code.org introduces millions of students to one hour of computer science and computer programming. Hour-long coding activities are sorted by grade level, and additional courses are available for both students and teachers. The week is officially celebrated in December, but the activities can be used at any time.
A student favorite, Polyup is a computational thinking playground. Students of all grade levels work at their own pace through activities called “machines,” practicing computational thinking and numeracy skills as they “modify the machines” to solve problems. This is a great game to play as an Hour of Code activity, for moments of downtime in a classroom, or to practice a specific concept like sequences or functions.
Technical Computing Software
Technical computing software is used by academia and industry to model processes, analyze and visualize data, and carry out computations. The software can be free (such as Maxima, SageMath, and GeoGebra CAS Calculator) or license-based (such as Mathematica, Maple, and MATLAB). To use technical computing software, students formulate and type commands in a specific programming language’s syntax. To plot a function in Mathematica, for example, students must understand the structure and syntax of the Plot[ ] command and its various options. If a command does not work correctly, students learn to troubleshoot errors and fix the problem.
My Honors Pre-Calculus students use Mathematica for in-class activities, such as exploring transformations of graphs of trigonometric functions, discovering the behavior of inverse trigonometric functions, creating sliders to investigate polar equations, programming their favorite song note-by-note, designing and 3D printing vases and polar flowers, and solving equations. I give some take-home assessments that require students to use Mathematica to solve a problem, analyze a situation or support a solution.
How to Make Time for Computational Thinking
To be clear, I cannot do everything in this post each year. I use these activities for the Hour of Code, for days before long breaks, or when my students have heavy prep for other subjects, college testing, or school events. I also use these activities when I feel it’s time to “freshen up” classroom learning. Note that it is important to give students time to get comfortable with the software or coding platform and to troubleshoot issues. Plan for two or three class periods per activity, depending upon the complexity.
With time to plan, complete course overhauls are possible. A few years ago, I used the summer break to determine how students could use Mathematica to discover and explore topics in my Honors Pre-Calculus class. However, discovery and exploration take more time than traditional teaching. The purpose of my school’s Honors Pre-Calculus class is to prepare students for AP Calculus (AB or BC), so I worked closely with our department chair and the AP Calculus teacher to determine which topics students need for calculus. We also decided upon topics to remove or teach more quickly. With the time gained, my students use Mathematica to dive deeper into topics and develop a stronger, more visual understanding of mathematics.
At the end of each computational thinking activity, I ask students to reflect upon what they learned, explain how their skills grew as they tackled challenges and describe any unexpected outcomes they observed. I also share with them my reflections on their growth, resilience and mathematical observations.
How Students Benefit
With computational thinking tools, students practice patience and persistence as they learn the syntax and troubleshoot errors. They formulate algorithms as they look for and find patterns in the math concepts. They feel a sense of accomplishment as they get more comfortable with the syntax and mathematics. And they develop a great skill to add to their resume as they pursue internships or job shadows in preparation for the future of work.
For more, see:
- The Importance of Understanding Technology, Coding & Computational Thinking
- Integrating Computational Thinking into Your Elementary Classroom
- Swap Algebra 2 for Data Science, Get a 1-Point Bump in GDP
Stay in-the-know with innovations in learning by signing up for the weekly Smart Update.