As any math teacher will tell you, one of the most common questions students ask is:

**“ When will I use (enter math skill here) in real life?“**

It can often be one of the hardest questions to answer too.

Because most students see right through the classic “real world applications” that have been part of math lessons forever.

You know the type.* If train A leaves at 10am, and train B leaves at 10:30, blah blah blah.*

Am I right?

Before joining the Edublogs team, I taught just about every math course there is between pre-Algebra and AP Calculus (inclusive). I’m a true math nerd, have a degree in math, and would like to think I was a pretty decent math teacher. I’d work hard to provide my students with meaningful problems, projects, and learning experiences.

But I’d sometimes get in trouble (had at least one parent complain to my principal) for my honest answer to my students when I got the “when will I use this” question.

I told the truth.

Here’s what I said.

**“You probably won’t ever use it again outside of math class.”**

The specific skills being taught, like solving a quadratic equation or understanding the Polar coordinate system, are just not commonly needed in most jobs or in everyday life.

But that isn’t why we learn mathematics, and certainly isn’t why I am excited by teaching it.

We learn math in school to practice logical reasoning. Math is the language of science. True math is an art. Math is exceptional at teaching us how to follow rules, discover relationships, problem solve, and organize thoughts and ideas. I could go on and on.

**In short, we don’t learn math for the actual concepts and skills being taught. **

This is where many policy makers make a mistake. For example, my home state of Texas was so horrified that the US is so behind the rest of the world in math education, that the solution was to require all students to take more math courses. Interestingly, recently there’s more debate on dialing that back and requiring fewer traditional math courses. It has all been quite an efficient use of time and resources to say the least.

A better approach would be to improve the courses we already have by working to make them more relevant, present students with problems that appeal to our inner-curiosity and that they want to solve, which would motivate students to achieve at higher levels.

But how do we do that?

### Hour of Code and CS Education Week

I’ve been reading with great interest all of the publicity that the Code.org sponsored ‘Hour of Code’ and Computer Science Education Week received recently. There’s a ton of fantastic stuff!

And today it hit me, as I’m sure is already being done by many, that the math classroom is the perfect place to introduce programming basics.

Sadly, and please correct me if I’m missing it, but I didn’t see any real mention of math on the Code.org site or any of the linked tutorials and lessons. This is a shame because the math classroom would be a perfect place to introduce coding concepts to students not enrolled in a traditional computer science course.

### Coding Ideas In the Math Classroom

The first program I ever wrote, in 8th grade, was just a few lines on the TI-81 graphing calculator to solve the quadratic formula. This way I could check my work easily on tests (and maybe cheat a little on homework).

Now that I think about it, there are a ton of ways that coding could and should be brought into the math classroom on a daily basis.

**For example:**

- output and printing to screen teaches concepts like Cartesian plotting, graphing functions and conics
- using the logic of loops, if, else, etc to teach principals of proofs
- number sense – integers, floating/rounding, and how using the wrong data type effects programming
- writing simple programs to solve the quadratic formula, the midpoint theorem, and more – automating the wrote memorization processes we’ve been drilling and killing for years
- *have more ideas, leave a comment below and I’ll add to this list*

### What’s Your Point?

There’s a growing movement to require more computer science education in schools.

But perhaps we can leverage the subjects we already teach to engage students and introduce them to coding ideas in a systematic way.

Much of this is already done in pockets. But the required standards and curricula (I’m looking at you, Common Core), have yet to build in coding principals and experiences.

I’d love to see the heavy influencers encourage integrating computer science and coding theories into existing courses at younger ages (could also be science class, and other subjects too), instead of the stronger calls for additional computer science courses in high schools.

Much like education should be much more about learning experiences than learning outcomes, teaching coding to younger grades should be more about logic and bigger concepts than it is a specific language.

There’s a ton of hubbub out there about “learning to code”. I submit that we don’t all need to learn to code, per se, but we can leverage the engagement and excitement around coding to bring math and other concepts to life. All while laying the foundations to make coding more accessible to all.

### But Math Teachers Can’t Code!

Says who?

One of the most common obstacles we hear about why schools don’t teach computer science is that there aren’t enough qualified educators out there to meet the demands.

But there’s a trained army of math teachers out there willing to find new and better ways of delivering their content, that with a small amount of preparation could no doubt be leading the way.

So, how can we make time in their curricula and schedule to make it happen?

**Featured Image: Calculator*

The developers of Scratch at MIT have added fine line grids to the backdrop library. Open Scratch and have a look inside Backdrop Library > Category > Other. These grids add much more functionality to Scratch as a support in teaching maths and Computational Thinking. Go to scratch.mit.edu/users/readysteadycode to see over 100 examples. Visit my web site at https://goo.gl/NiGzgo and find out more

Thanks for the tip, Seamus!

Yeah but….

While I agree entirely with your premise that coding should be about solving real problems, and that maths is a great place to do this, with coding being introduced younger and younger, that examples you give are simply irrelevant – it’s all high school stuff.

One example I have tried to use is for the kids to create a program that solves multiplication problems – which worked fine. BUT, not really useful, as it takes a lot longer to go and get a computer, log in, wait for it to load up, etc than to just get a calculator.

I would love to hear more specific suggestions suitable for younger kids, particularly that can be used with block-based coding, like Scratch.

Thanks for your thoughts.

Great blog. Using a calculator to incorporate coding into the math class is tremendous. Simple input and output coincide with the skills needed for coding while still working with our lesson.

Love this! I just finished my msm degree at IS State and we had a whole algorithm class on how to teach math through coding. This year all my geometry students are coding a geometry calculator using sage math cloud. I am not a master programmer but am willing to learn with my students.

Diane,

I am intrigued to hear more about what you are doing with your Geometry students. Are you still doing it? Have you had any successes? I am getting my Masters Degree at the University of Utah and I am doing my final project on using coding to teach Jr. High math topics. Feel free to reach out to me, I teach Math at Bountiful Jr. High, you can find my email on the school’s website.

Thanks,

David Johnson

Hi Sheila – you may want to check out the earlier comments on the thread. There’s a lot of great PD in this field! (Shameless self-promotional plug: Bootstrap offers great PD for math and CS teachers!)

I teach 5th grade math, and would love to integrate some coding into my classes, but there is very little out there in the way of PD. The only program I have found for elementary teachers is through Code.org. I’d love to hear about other programs or summer PD opportunities.

Hello! I am currently pursuing a Masters and certification in Mathematics Education at the Secondary level, and was assigned the task of commenting on an edubloggers post. I feel so fortunate to have found this post in my search, because I agree, that coding is something that could easily be added into a math curriculum. Especially with such a heavy emphasis these days on the growth of technology and the encouraging of students to go into fields like engineering or computer science. Now, I’m not saying that students should be taught coding languages, and I am definitely no expert on coding, unfortunately never having taken a class, but I really appreciated your point about teaching logic, or teaching students how to take a procedural load off of their mind, such as programming in the quadratic equation. I am wondering, since I just finished my requirements to be eligible to apply for a masters degree in education, whether a computer science course should be required for those who want their teaching major/minor to be in mathematics. Would this be asking too much of future teachers? Or maybe this would be overkill for what you are suggesting. I am particularly curious, due to my lack of knowledge on coding and computer science, but I am sure it would be an interesting topic for students, especially because it would be so unexpected in a regular mathematics classroom!

I am also curious about the technology that would be required for a topic like this to be covered. Could students simply use graphing calculators, or would certain computers and internet access be required? Thank you for your interesting and inspiring post. I really enjoyed reading, and am hoping to learn a little more about these ideas myself to hopefully apply in my future classroom.

Hi Jennifer – thanks for the comment! That’s certainly an interesting idea about requiring future math teachers to take an intro course or show some basic proficiency in coding. I like it!

The graphing calculator’s basic programming language is certainly a good and pretty easy place to start. There are also now web tools that allow for coding right in the web browser, so something like a chromebook can be used. Mobile apps exist too – lots of options 🙂

Best of luck!

Every math subject finally found an application in coding. The answer to every possible “When will I use (enter math skill here) in real life?“ question is “when coding”. Is not just this but, if you’d teach math using some programming language, you could have things that are at the same time strict mathematical definitions and real time uses of it (thing, the definition of function composition using any programming language is a definition and an instance of function composition at the same time). Plus you could get rid of the monster amount of symbols, each of which have many meanings in different math contexts, and replace them with just a few ones. I predict in some years math notation will be dropped and some standardized programming language will be used instead.

Great article! I would love to bring coding into the elementary classes. I had the opportunity to get a few teachers to participate in the ‘hour of code’ back in December and the kids loved it. They were so engaged and more important they were successful and felt it. I believe it is meeting them where they are at and taking them to the next level. There is an inner-desire that drives them. As a technology staff developer for elementary I would love to hear from others who have had some success with implementing some lessons after the ‘hour of code.’

I do teach programming (coding in elementary grades), but I prefer to hold off introducing even the basic of programming until 3rd or 4th grade. The first few years of elementary education can be a time of exponential growth for many young students. Instructional time is better spent focusing on Math, Science, Literacy, and Social Studies. Waiting to introduce logic based programming concepts until grades 3 and 4 allows time for the student’s to grow their background knowledge and their core learning skills. I have noticed that somewhere around age nine students want to be more independent and have a stronger drive to see a project through to completion. They start to take their education more seriously. Additionally, I have found students will seek to do tasks right even if it means do the same task repeatedly. These emerging facets to the students skill set make it an ideal time to introduce programming.

Just my humble opinion 🙂

The other day in my college 120 math class I was thinking this exact same thing. The way they teach us is just not acceptable. I mean, c’mon, I’m learning (Or relearning I should say) things that have been taught multiple times through highschool and some basic stuff even from middle school. And I was your average slacker who never payed attention to anything and got A’s, not an AP/honors student. And yet with all this knowledge(as limited as it is), I only just recently realized what I could really do with math.

Also, I think that the way they block math into different sections and say “Well, we’re not there yet so just do it this way…(until 3 weeks have passed and I tell you that everything you learned before is useless/obsolete)”, is not the way to approach it. It just makes it seem like an endless list of things to memorize that aren’t useful. When I ask “Why does this work?” and the teacher replies “Well, just follow the formula and you’ll get the right answer”, alls I can think is..

…. WTF?

I have taught Math, Computer Programming, and Art for years. When we start doing games in Programming, they finally learn why they need to know some of the math. One of my favorite projects was creating a dart board. They had to create random numbers to figure out where to throw a dart (some used a wind setting to mess with the user). Once the dart landed, they had to determine the score for that dart (Cartesian plane, distance formula, radius of the circles, etc., etc.). They no longer asked “where am I going to use this?!?”

Also – Common Core has really disappointed me with the lack of emphasis on technology in the standards. They do a good job of reflecting the depth of thinking needed to understand math, but there’s a total disconnect with how math is actually done in the world today. Kids are still expected to do operations on multi-digit decimals by hand and graph systems of linear inequalities by hand. The proportion of hand-calculation to technology computation is out of balance with reality. If computers can do the calculation, our brains and our time are freed up to create the model and understand the reasonableness of the solution.

Hi,

I loved this article because I had the same lightbulb about a year ago. I am a software engineer who’s changed careers. I now teach seventh-grade math. I had been telling my students for years that algebra is the language of technology, and they need to know it in order to command their phones, computers, and tablets – to abstract problems they run into in daily life. I got a class set of computers last year and started introducing programming through Khan Academy’s javascript / processing environment. We have woven coding into lessons on the coordinate plane, integers, ratio and proportion, equations and inequalities. It’s been amazing to see what they create and some of the unexpected benefits and challenges.

I have been keeping some of my lessons and projects at http://codinginmathclass.wordpress.com/ I would love for you to take a look as I’m the only one in my department using coding in any core class, and so it’s helpful to share ideas with other educators that are familiar with it. I map all of my coding lessons to common core standards.

Thanks for promoting coding literacy. The conversation about including it in math class is long overdue. This is how math is done in our day. Mathematicians, scientists, and statisticians – well, anyone, in any career, makes use of computers to understand their work. Programmers make use of math to understand theirs.

Hello, I’m working with a budding non-profit that is educating and equiping kids with technology, to help improve the independant learning skills while boosting their litereacy and STEM skills, you said you had alot of other ways that math and programming could go hand in hand and I would like to know them all!

Being a person who left the business world with a degree in HRM and another in MIS, about to finish a master’s with two specializations: Math and eLearning/Technology, I can definitely see how math and programming (coding) are aligned with each other. During summers, I have taught Gaming Animation using Blender software. The amount of math (and physics) that goes into the game is a great way to teach several math concepts as well.

As communications has gone global and requires some mathematical literacy to deal with it, mathematics learning with this application is needed. From very basic billing arithmetic to break even points between “Pay as you Go” units to monthly billing plans for say voice and text. There are a lot of good mathematical learning opportunities that need to be explored.

Jim kelly

k-12math.info

Hi,

For seven years, I have been involved with teaching kids to use math and programming to make models of scientific problems. Generally we use Starlogo and Netlogo for our elementary/middle students in Project GUTS after school clubs, projectguts.org. Elements of these lessons would easily lend them to be imported into math and/or science classrooms even at the HS level.

High school students can enter our state’s Supercomputing Challenge, a more intense team-driven competitive version that includes technical writing/presenting to engineers and scientists the results of their project. You can look at previous years results at http://challenge.nm.org/.

Integration of programming needs to be in the math curriculum, IMHO.

Carl, I’m looking for middle school math lessons using NetLogo. Do you have any resources to share? Thanks!

So true, I’ve had Yr 4 students suddenly grasp decimals through the use of small fractions of a second when programming animations, as well as Cartesian plane, positive negative integers, fractions and so much more by learning Scratch. Coding is fantastic for teaching maths to the young ones.

I use math in my daily work. I hated math classes, except for Geometry. I’m an Air Traffic Controller. “Who’s going to get to (point B) first, and by how much, is a time/speed/distance equation that I solve more than once a day. It has been a lucrative career. I’ve never been a coder and I’m older than you because there were no graphing calculators in my school. In fact, my brother who’s a year older, learned how to use a slide rule, then learned how to code, then wrote code for the Hubble. I applaud anyone who tries to engage kids in the nerd subjects. Keep up the good work and keep searching for new ways to “reach” kids.

I vote for really juicy mathematics and computing electives. If we had a course called the Mathematics of Animation, I am sure I could fill it with students really not interested in AP classes.

Eric Freudenthal at UTEP is doing some work along what you are saying. You should make contact with him.

Thanks, Sean!

Have you heard of Bootstrap? It’s programming aligned to Algebra Common Core. http://www.bootstrapworld.org

Excellent! I had not seen that, but first glance looks pretty good. Would love to see projects like this become more mainstream.

Thanks for the share!

Hey Ronnie – stay tuned. We’ve got some really exciting announcements lined up for this Spring, which will bring us a lot more into the mainstream. In the meantime, you’ll be happy to know we already train teachers across the country, with students in Washington DC, MA, NY, CA, MD using Algebra to program videogames.

(And don’t forget, most programming languages aren’t mathematical at all, which may explain why there’s been so much hesitation about using them.)

Thanks @Emmanuel! Loving what I’m hearing from you and look forward to seeing the future announcements. Appreciate the comment!

I am preparing to use Bootstrap with my 9th grade math class. Right now I plan on squeezing it in from early February to mid-March. It fits well with our transition from algebra to geometry.

What goes around comes around. Back when what were called ‘microcomputers’ were introduced to schools in the mid 1970s, it was usually the math teacher who had the responsibility. In New York City, it was the Association of Teachers of Mathematics who ran workshops on using those TRS-80 and other early machines. And, there was not much software, so teachers and students needed to … code! (Although we didn’t call it that, we called it programming.) The relationship between math and programming has a long history!