Python in Mathematics
22nd April 2004
Python in the Mathematics Curriculum by Kirby Urner is something of a sprawling masterpiece. It really comes in four parts: the first is a history of computer science in education, the second an appraisal of the impact of open source on education and the world at last, the third a dive in to the things that make Python so suitable for enhancing the mathematics curriculum and the fourth a discussion of how computer science and traditional mathematics are likely to play off against each other in the field of high school education.
It’s a long read, but well worth it. Kirby drops in numerous short Python code samples, such as this neat little implementation of Euclid’s algorithm for finding the greatest common denominator of two numbers:
def gcd(a,b): while b: a,b = b, a % b return a
His thoughs on open source and general geek culture are worth digging out even if the main topic of the paper has no interest for you. Here’s a sample:
Additionally, I think a key cultural phenomenon is the evolving perception of geek culture as a whole. What many students discover is a global network of loosely organized, yet talented individuals, including many free spirits. The network is cosmopolitan and guided by some newly articulated principles regarding how some forms of intellectual assets should remain freely accessible and reusable. While these values might seem another ideological pipe dream, were they expressed in merely political terms, in this case the lingua franca of the movement is source code, and licensing agreements designed to protect it against leaking off into the proprietary sector. Even though Python may be used in proprietary ways, Python itself remains free.
Kirby presented the talk at Python DC ’04 back in March. I wish I’d been there, but the conference was too close to SxSW for me to make it to both.
More recent articles
- Weeknotes: Embeddings, more embeddings and Datasette Cloud - 17th September 2023
- Build an image search engine with llm-clip, chat with models with llm chat - 12th September 2023
- LLM now provides tools for working with embeddings - 4th September 2023
- Datasette 1.0a4 and 1.0a5, plus weeknotes - 30th August 2023
- Making Large Language Models work for you - 27th August 2023
- Datasette Cloud, Datasette 1.0a3, llm-mlc and more - 16th August 2023
- How I make annotated presentations - 6th August 2023
- Weeknotes: Plugins for LLM, sqlite-utils and Datasette - 5th August 2023
- Catching up on the weird world of LLMs - 3rd August 2023
- Run Llama 2 on your own Mac using LLM and Homebrew - 1st August 2023