I’ve been having a think – about algorithms and such. I wasn’t sure if I had in all this sorted in my mind and I figured I should. Shouldn’t we all? So, happy to expose my ignorance in the public forum, I asked my lovely Twitter followers what they had to say on the matter. I posted the following tweet:
Clever Twitter people, please explain to me in a way that is understandable by a 6yr old what distinguishes an algorithm from a program. TIA
— Dughall McCormick (@dughall) October 22, 2012
I got some helpful responses. Firstly from @robthill
@dughall an algorithm is a set of instructions for doing something. a program is those instructions written so that a computer understands
— Pete Lonsdale (@peterlonsdale) October 22, 2012
…and Pat Parslow:
Whereas, Richard Hussey came next with: roulette uk
— Richard Hussey (@vecna) October 22, 2012
…but this was questioned by Rob Hill:
— robthill (@robthill) October 22, 2012
And a final word from Roger Broadie:
@dughall algorithm = sequence of instructions, think recipe for making a pie. Program = collection of algorithms, think pie, chips and peas
…and a late edition from Richard Hussey again:
@dughall My updated view: “The algorithm is the receipe and the program is the cake making machine”. But now I want a cake making machine.
— Richard Hussey (@vecna) October 23, 2012
Are we any wiser? Are you clear about what an algorithm is? How it differs from a program? Could you a) explain it to a 6yr old? b) know that the 6yr old had understood it?
I think algorithms are generic and don’t require computers (unlike programs, which do).
Programs are generally more complex than algorithms.
I think that if young people are to understand any of this, they need lots of tangible examples with reference to the terminology. But more importantly if teachers are to help with all this (which they may/should be required to), they will need to have all of this clear in their own minds.
We can only teach something effectively when we truly understand it ourselves.
Image thanks to piratejohnny on Flickr under Creative Commons