Python DevCenter
oreilly.comSafari Books Online.Conferences.


Python News

Teaching Math with Python


Kirby Urner is a man with a passion for numerical literacy (numeracy) and programming. Urner sees a future where we teach math and programming together. Programming offers us tools to bring numbers and formulas to life, making math a lot more fun in the process. This much we have known for at least 15 years, but programming has been slow to move into the high school educational space. Math textbook writers continue to churn out new versions of the same old stuff. Perhaps that has been because computer languages have generally been difficult to read and difficult to learn, or ridiculously low-powered. Python changes that. It is a high-powered tool that remains accessible.

Urner is writing curricula for teaching math using Python. The world of textbooks and the educational system in general is too excruciatingly slow, though. Urner has taken his curriculum to the web with the Oregon Curriculum Network, a web publishing platform and model for other curriculum developers. This site is a blessing for home schoolers and rogue educators looking for an alternative math curriculum. In February he started with a four-part article on Numeracy and Computer Literacy. In these articles he covers analysis of number series, vectors, primes, and random movement through a matrix. All of these are backed with examples in Python. Inspired by some new features in Python 2.0 (zip() and list comprehensions), Urner has published this month ideas for teaching Precalc with Python 2.0. He uses Python to bring clarity to precalc formulas and uses POV-Ray to bring them to life.

His writing is dense. It packs a wallop that is better suited to other educators than those just learning math. It is certainly not the slow gentle route. With my days of math so far behind me, it has been a challenge to work through them, but his ideas are gold. They are great examples of how we might teach Computer Programming for Everybody (CP4E).

I first became aware of Kirby Urner through the educational special interest group (EDU-SIG) for Python. This is a group formed around Guido van Rossum's DARPA proposal to teach CP4E. Teaching programming as a general literacy to everybody is a bold project. Python is the language that just might make it possible. Python has long been praised for its clarity and for how easily it can be learned. In CP4E, Van Rossum proposed that the next step after a computer on every desk was a programmer at every computer. The full proposal was to study how programming might best be taught, update IDLE (a graphic programming interface), and develop a curriculum to be tested. CP4E's future as a project has been in question, though, since the Python team has moved from CNRI, who was hosting this project, to BeOpen. BeOpen and Van Rossum say that it isn't dead yet, but they still don't know how to fund it. So far, a better version of IDLE has been the only tangible result. Well, that and the SIG.

EDU-SIG is a mailing list that has mostly been a sleeper, with an occasional gem posted to the mailing list by subscribers like Urner. When the list was first formed early this year, Urner came on strong, plugging away for his own slant of teaching programming with math. It isn't a popular position among math or computer programming instructors who are more commonly fighting for turf and funding. Despite the difficulty of introducing an integrated curriculum, I have found Urner very persuasive. Then again, I admit to being a math head. I am fascinated by math. With the future of the CP4E project unclear, it has been wonderful to see that Urner keeps plugging away for numeracy and computer literacy. I am glad he is.

Stephen Figgins administrates Linux servers for Sunflower Broadband, a cable company.

Read more Python News columns.

Discuss this article in the O'Reilly Network Python Forum.

Return to the Python DevCenter.


Sponsored by: