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. Kirby ================== Grant Proposal Submitted to: the Python Software Foundation by: Kirby Urner, urnerk@qwest.net Date: Sept 14, 2004 OVERVIEW I am requesting financial assistance to author curriculum materials focusing on Python applied within the knowledge domain of pre-college and college mathematics. 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 synergies. 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. BACKGROUND 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. AMOUNT REQUESTED, TIME TABLE 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. DELIVERABLES 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 versions. 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). RATIONALE 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 language. 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 example. TOPICS WILL INCLUDE... 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 features. BIOGRAPHICAL 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@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@qwest.net urner@alumni.princeton.edu kirby@4dsolutions.net