[Edu-sig] Urner's 2004 grant proposal to the PSF

Kirby Urner urnerk at qwest.net
Wed Dec 1 19:39:52 CET 2004

According to Martin v. Löwis, the PSF has rejected the appended grant
proposal, although he hasn't yet had time to send a formal rejection with a
detailed explanation.  It at least made it past the first coupla rounds -- I
like to think I was a semi-finalist.

Anyway, I'm archiving it here on edu-sig (seems like a good place for it).  

I may shop it around (a modified version).

Just today, I re-upped with Saturday Academy to do the math through Python
course again in the spring.



                            Grant Proposal

Submitted to: 	the Python Software Foundation
by:  		      Kirby Urner, urnerk at qwest.net
Date:  		Sept 14, 2004


I am requesting financial assistance to author curriculum materials focusing
on Python applied within the knowledge domain of pre-college and college

The purpose of such a curriculum is to teach Python and mathematics in
tandem, on the theory that the best way to learn a computer language is by
applying it to some knowledge domain.  

Mastery within the target domain is not required in advance;  learning
Python actually helps make the topics and concepts more accessible.  In
short, tackling Python and mathematics together begets valuable positive

The requested funds will give me more time to focus on curriculum writing
instead of on the various consulting jobs I would ordinarily perform during
the same time.


I have a long-standing interest in this application of Python, drawing
inspiration from parallel applications of ISETL and J/APL.

Recently, I have secured a part time teaching position.  My class is offered
through Saturday Academy, an educational non-profit affiliated with Portland
State University.  These 3 hours in the classroom on Saturdays will enable
me to test and refine my materials in the field.  My students will be of
high school age.

However, the position does not cover any time for curriculum development. 


The course begins in January 2005 and if successful will be offered again in
the next semester. 

With $1000/mo for six months, starting in November of 2004, I would be able
to focus considerably more energy on generating, field testing, and
polishing the proposed curriculum materials.

Such financial support would carry me over the threshold of producing ad hoc
materials, and allow me to organize them into a more coherent and integrated
curriculum, i.e. as chapters in a book.

My goal is to set aside an average of about 10 hours per week for this work
during these months, which translates to about 40 hrs/mo at an effective
rate of about $25/hr.


My goal would be to develop my materials in DocBook XML, using either CVS or
Subversion to archive updates, thereby facilitating easy conversion to XHTML
and PDF formats.  From my consulting work, I already have some experience
with the relevant tools.

These materials would be distributed under the GPL or some Creative Commons
license that made them amenable to future improvements and enhancements by
others as well as myself.  Distribution would be free over the Internet.  

Saturday Academy has already agreed in principle to my using Creative
Commons or GPL materials in my classes for them, an arrangement we developed
when I co-taught Adventures in Open Source Programming this June.

I would adopt the book format and publish new chapters approximately
biweekly.  The XHTML version (generated from docbook source) would go to the
website.  Feedback from the Python community (e.g. from edu-sig), as well as
from classroom students, will help me improve the content through several

The project might eventually materialize as a published book, as happened
with Dive Into Python (Apress). But whether this occurs or not, a
significant amount of material will be available for free on the web (the
Creative Commons license would persist even in the event of publication).


Whereas lots of math-related Python programming has been contributed by the 
community, to the Vaults of Parnassus for example (including some of it by
me), what's lacking is much engaging writing connecting it all together,
with concepts developed in sequence, and in relationship to each other.

The mathematical modules currently available assume knowledge of Python and 
do not have it as their goal to build up familiarity with Python's
capabilities in any step-by-step fashion, as would a tutorial.

No book currently on the market fills this niche when it comes to the Python

Some form of mathematics remains a required subject in most liberal arts
curricula, and is of intrinsic interest to people of all ages in many walks
of life.

In focusing on generic math concepts common to many disciplines, my intent
is to engage readers outside of the traditional computer science field.
Such curriculum writing would not be redundant with Dr. John Zelle's
excellent 'Python Programming:  An Introduction to Computer Science' for


   sequences and series, including use of Python generators

   using Python to parse geometry-related files (e.g. polyhedra)

   output of Polyhedra for rendering in POV-Ray, VRML and via VPython

   prime and composite numbers (Python's long integers are especially 
     handy in this context)

   explorations of number theoretic concepts including the mechanics 
     of RSA public key encryption.

   using operator overloading to study group theoretic properties of 
     finite sets, e.g. adding and/or multiplying integers modulo N. 

   vector mathematics, including some information about quaternions (used 
     in game packages as well as in serious scientific applications)

   information on wxPython, VPython, Tkinter, PIL, PyGame and various 
     plotting (graphing) tools

I've selected the above Python add-ons for their relevance to working with 
graphics.  SVG would be another option.  In all cases, I will be focusing 
on free and open source tools available for download over the Internet.

As suggested by my mention of RSA, my intent will be to draw connections to
real world applications of the concepts under discussion, so that readers 
develop confidence that their time spent learning mathematics and Python
through my writings is of direct relevance to the working world.  

On the other hand, I will not dogmatically eschew investigations that simply
have an aesthetic goal.  Getting a rhombic triacontahedron to rotate on 
screen, perhaps using Vpython's stereographic feature, is an end in itself 
(this went over well as a part of my talk at OSCON in 2004).

My emphasis will be on relatively short programs (some will be only a few
lines), *not* on developing full scale GUI driven applications, running to
thousands of lines of code.  All source will be available in an easily
downloadable form and will avoid making use of operating-system specific


Although I am not a professional mathematician, I have taught mathematics 
professionally through high school level calculus.  I have learned a lot
more mathematics since then (and continue to learn more to this day).

I've collaborated on math-related projects for several years, including 
assisting with a newfangled coordinate system (quadray coordinates). Some of
this work was published in FoxPro Advisor (because at that time, I was using
Microsoft FoxPro instead of Python).

I've presented publicly on math topics, including a lecture on fractals as
an introduction to a talk by Dr. Mandelbrot himself (c/o Institute for 
Science, Engineering and Public Policy, a Portland-based institution with
which I continue to be affiliated).

My background is in Philosophy (B.A. Princeton University, 1980) and 
my thinking about geometry is influenced by the writings of R. Buckminster
Fuller, inventor of the geodesic dome.  I built one of the first and most
comprehensive web sites regarding his philosophy.

My output over the years, in the form of essays, postings to
edu-sig at python.org and so on, demonstrate my capacity to author these kinds
of materials.  However, not being an academic, I've had limited time to
focus on a project that would integrate these threads and make them
accessible in any logically connected way.

As a professional programmer of over 15 years experience (using Python and
other languages), I am also qualified to write with an eye towards the "real
world" of programming.  In sum, I think my experience highly qualifies me to
engage in this kind of hybrid or cross-disciplinary curriculum writing.

I was also a contributing editor for McGraw-Hill in the text book publishing
department (computer literacy texts in particular).  This was back in the
days when only Logo and BASIC were taught as an adjunct to mathematics. 

Today, I sense even *less* cross-fertilization of programming with
mathematics in the pre-college curriculum, primarily because math teachers
are confused by the number of languages and their relative complexity.
Showing them Python's capabilities, including its interactive shell, will be
an eye-opener to many of them.

I would of course be happy to provide additional information and/or
references upon request.

Relevant Link:

I've collected a lot of my little math/programming essays over the years at 
this web page:  http://www.4dsolutions.net/ocn/cp4e.html  

Kirby Urner
3745 SE Harrison St.
Portland, Oregon 97214 USA
Voice 503 232 7159
Fax   503 231 1045

Email addresses:
urnerk at qwest.net
urner at alumni.princeton.edu
kirby at 4dsolutions.net

More information about the Edu-sig mailing list