I love it when things start to converge in my mind. This post will attempt to encapsulate this convergence; attempt being the operative word. As Jack Dorsey said, simplifying the complex is not easy. Try I must to help me document my thinking.

I blogged about Maths not = calculating in reference to Wolfram’s computerbasedmath.org initiative and mentioned it in comments on relevant posts of other bloggers and to anyone who cared to listen. I recently attended webinar with @ColinTGraham on Teaching Maths Effectively which led me to Project Euler. I signed up to this project and had a go using Microsoft SmallBasic, a free and easy to learn/teach programming language. I read @garystager’s post on Charlie Rose‘s interview with Jack Dorsey, Chairman and one of the three co-founders of Twitter; I watched the interview as well. I think perhaps that only developers can really appreciate Stager’s (and Dorsey’s) view on elegant code (I happen to as I was in Software Development for years before going into teaching).

One of the challenges of maths teachers is making maths relevant. Also, Wolfram mentioned that students often do not see, much less appreciate, the beauty of maths – especially when drowned in the number-crunching (read calculation) jungle.

Anyway, I’m coming to a conclusion that **there is definitely room and reason for integrating programming in school and not necessarily as a separate subject/course**. In my previous high school, I did suggest this as an extension activity for a very smart girl and in fact, introduced her to SmallBasic. My suggestion to use some Maths lesson time was rejected for various reasons including there’s no one really able to support this idea and struggled to justify the suggestion. Fast forward to now and the previous paragraph is justification enough.

I’ve only done a couple of problems on **Project Euler**. It offers much opportunity as an **assessment tool** – you need to decode the problem in order to code. The process can run the full gamut of the digital Bloom’s taxonomy – from remember through to create. For example, what does multiple mean? I used to say it’s the times table of a number. But, how do you code that? Well, a number is a multiple of a given number if the remainder is zero when you divide – there are programming functions for this (language-dependent). Now, there’s a definition not often mentioned. And “below 1000” provides an opportunity to apply inequalities.

Project Euler definitely provides an avenue for **computational thinking** that Stager and Dorsey espouse and openly enjoy. Upon solving problems, you get access to the solution and the forum so you can compare your own code. The **pursuit of elegant code** is very obvious in the forum. What this means, too, is that **participants are naturally differentiating the task – motivated by finding the most efficient solution – often due to deep knowledge of maths (including finding patterns) and not so much programming ability. ** How awesome is that??? Actually, reading some of the comments help one appreciate the depth and beauty of maths that Wolfram – and passionate maths teachers – allude to.

**Programming is problem-solving.** It promotes analytical and logical thinking but not at the expense of creativity as both Stager and Dorsey argue. In fact, I daresay a good programmer has to have a healthy dose of creativity. Programming provides instant feedback (read: gratification or frustration).

Though much can be learned from programming, it really is not for everyoneI…not because it’s hard necessarily but because it doesn’t appeal to all such as carpentry does not appeal to me, for example; I’m sure carpentry provides fantastic opportunities to apply mathematical concepts and more besides.** I understand apprehension to even try to include it as a teaching strategy, but there is help out there.** Just as there is a community of developers out there, so there is too of teachers.

Where to now?

As an IT integrator, I plan to approach the Maths and the Technology Departments (the elective programming course was dropped due to dwindling numbers). I’ll walk them through my rationale mentioned above. Then, who knows?

*Do you know any other initiatives similar to or linked to the ones above?*

I’m glad you attended the webinar and got something from it, Malyn. I do think we need more sites, like the Project Euler site, which provide graded challenges, and less of the ‘game-only’ type of programming/mathematics which seems to be around. I could see similar sites to Project Euler being set up for Geography, History/Archaeology, Art, Music…

If anyone wants to watch the webinar, the archive recording should be available on http://reformsymposium.com/blog/2010/12/13/colin-t-graham-approaches-to-teaching-mathematics-more-effectively/ sometime in February.

I love your ideas. I think programming inside of math class would help math be more relevant to our kids.

Have you seen Project Alice? I’m not sure if it fits what you are looking for. http://www.alice.org/index.php

@Colin Thanks for the thoughts and the link; I’ve updated my post accordingly.

@mrsjwilson Thanks for the comment. I had a quick look at Project Alice and it certainly looks interesting with programming being the objective itself. It might come in useful … I hope!

These are some great points about project Euler. If you’re looking for some more resources on combining math and computational thinking, I’d suggest checking out the lessons google put together on exploring computational thinking with python.

I’ve been using spreadsheets in my math and physics classes for 20 years. It’s a good intermediate ground. Many of the essential ideas of programming, without getting heavily into coding. Intuitive and accessible.

You might also find that one of the original resources for integrating programming and math is still useful: LOGO

See http://www.calormen.com/logo/ for an online implementation of it.

Malyn, you would love the CS4HS program run by Sydney Uni and sponsored by Google. There is another workshop in September.

Here is the link. http://rp-www.cs.usyd.edu.au/~cs4hs/

Fiona Jostsons

There have been many instances where people started liking maths more after learning to program. I personally started coding with codeschool and then went on to Kaggle to start data management, integration and analysis. So, yes I do believe that programming makes a difference and it helps us appreciate maths more!

Thank you Sharjeel. Data management was a huge part of my previous career in IT before shifting to teaching. I think that it’s even more significant now with big data and AI and quantum computing! This is why I’m keen to expose my high school students to data science – at least the rudimentary principles, which is all I can cope with really. I’ve got much to learn to teach it well but I am learning the more I teach it. I’m on my second year of it.

Thank you and again for stopping by and commenting. I might have to explore your site more.