We've already discussed the concept of Function quite a bit, which has its mathematical "Dolciani" meaning plus other meanings in English, such as you'll find in any dictionary, plus the meaning "subroutine" as Hansen calls it, though in Python <class 'function'> is the formal type name (FunctionType), another type of object, passable as such to other functions as arguments. So definitely we need sets combined with the formal Dolciani notion of function (with "into", "onto" "bijective" and all that). A lot of USA students never get to Vectors in algebra, yet are expected to work with them in physics. It gets to be messy. In Python, we'll be defining a Vector and Edge object (I have the source code out there in many venues, as do many digital math teachers), a Polyhedron object and so forth. The nuts and bolts of Vector addition and subtraction, scaling, will be baked right in to the code. === Preview / Overview Data Structures with Lists and Mappings (set, dict...)Sets (spiraling back to data structures, looking at one in particular) Geometric Objects: Vectors, Edges and Polyhedrons (uses vZome by Vorthmann) Summary / Overview === Kirby 
On Jun 28, 2014, at 12:53 PM, kirby urner <[hidden email]> wrote: > A lot of USA students never get to Vectors in algebra, I would have said practically all of them don’t get to vectors, and most of them don’t even get algebra. Vectors generally come in physics and require the student be successful with algebra, geometry and trig first. And if your are going to start doing rotation matrices, then they will need some background in linear algebra. Baring a physics course, vectors and linear algebra would have to wait for algebra 3 or precalculus. Functions and sets would have already been pretty well baked by then, and they will have had sufficient geometry and if you are lucky, trig, which frees you to concentrate on vectors, transformations, linear algebra and programming. Bob Hansen  End of Forwarded Message 
On Sat, Jun 28, 2014 at 8:59 PM, Robert Hansen <[hidden email]> wrote:
Polyhedrons come in early as they're easy to manipulate and play with (spherical versions include the hexapent soccer ball). Counting vertexes, edges and faces to confirm, later prove V + F == E + 2 is a 3rd grade exercise (which I've done with 3rd graders in several schools, no problemo). When we want to do math history (the 25%) we can talk about how apparently Descartes had proved that before Euler, but was paranoid about sharing his results and encrypted them in a notebook, which Leibniz later decoded but then the decoding was lost and not recovered until the 1980s.[1]
The XYZ coordinate system should not be all new by this first Algebra course so Vectors should start as little more than labeling points, which you need for polyhedrons once you start assigning coordinates to the vertexes. There's so little different between P(x,y,z) where P is a point and V(x,y,z) where V is a vector, except Vectors are easily added. The standard curriculum tends to go through the same material twice (distance formula etc.). I've tried going straight to vectors with 8th graders, using Python at Free Geek (freegeek.org) which let us use the lab (these where home schoolers) and the experiment went well.[2]
Yes, to get to a rotation matrix, you need a little trig, but what better opportunity to preview? I should add to this course though: every button on a scientific calculator should get either review or introduction. We can project a picture of such a calculator but actually use Python to do the work, with most of what we need in the math module i.e..: from math import cos, sin, tan, hypot, sqrt, pow, log, exp, e, pi [3]
These functions will be used in our own functions. We'll be doing a fair amount with phi ((sqrt(5)+1))/2) such as building an icosahedron using three golden rectangles (mutually orthogonal) and than rotating it with our matrix. [4] OEIS is the Online Encyclopedia of Integer Sequences and we're especially interested in the icosahedral numbers: 1, 12, 42, 92, 162... (connects to the hexapent and fullerene).
We're not providing any exhaustive treatment of linear algebra here. No determinants, no reducing or inverting of matrices, none of that. We're simply showing the mechanics of multiplying a matrix times a vector, giving another vector. Applying the same matrix to each vector in a polyhedron (vectors all radiate from the origin) causes the polyhedron to rotate on screen in real time. Colorful rotating polyhedrons are the kind of eye candy we need to make digital math fun and interesting.
Kirby 
In reply to this post by kirby urner4
Working on the assumption that math is
highly sequential (certain topics need be mastered as
prerequisites for subsequent topics) then such a list does indeed
seem reasonable. Though I tend to think we usually jump into the
middle & backtrack where necessary.
But generally, I feel the major concern for students of math may lie in the affective domain. The ability to benefit from mistakes, the ability to concentrate for extended periods  not to simply give up. I tend to think of mathematics as something to be "figured out" rather than simply "learned". Students might well benefit from trying the chapter end exercises before studying the chapter itself. Students may well be able to 'complete the square' after being taught the method  but should be encouraged to figure out why it works. Math is possibly the aptest subject area wherein a student can 'reinvent the wheel'. As for prerequisites for a math/programming course: early exposure to a 'turtle graphics' package would be well worth considering. It is visual, correlates closely to physical reality and is capable of producing dramatic images. Reinforces concepts of distance & motion including orientation. But best of all  it can provide enjoyment & the satisfaction of succeeding in achieving a goal. And most programming languages, including Python, have a turtle module. Gary Tupper, Terrace BC On 6/28/2014 9:53 AM, kirby urner wrote:

On Sun, Jun 29, 2014 at 11:25 AM, Gary Tupper <[hidden email]> wrote:
Yes, the Turtle Art movement, spearheaded by Ed Cherlin, OLPC spinoff SugarLabs, our own Gregor Lingl, Vienna (maintains Pythons turtle module)  such a rich subculture. http://wiki.sugarlabs.org/go/Activities/Turtle_Art In my own coursework I'm sort of playing off Turtle Art with a branch / fork I call Tractor Art, where my turtle is imagined to be a tractor in a field, with added methods like plow and plant. I've got this exotic blend spelled out in more detail in Pycon circles (some Python conference goers already know of my tractor obsession). :D http://www.slideshare.net/kirbyu/pycon2012proposedlightningtalk (it says "proposed" but I've given this talk quite a few times already, including at Portland State University, Systems Science Program, by invitation). I'm not suggesting a "new standard" based on what I happen to do for Saturday Academy or O'Reilly School or whatever. I'm a drop in the bucket. Just saying, there's room for mentors / teachers / coaches / scout leaders to get creative and build on an already tremendous heritage of free (and not so free) software. Kirby 
In reply to this post by kirby urner4
No surprises then, I agree with a great deal (not all!) of what you're suggesting here:
 Jun 28, 2014 10:23 PM, http://mathforum.org/kb/thread.jspa?threadID=2637672  A; and here:  Jun 29, 2014 6:40 PM, http://mathforum.org/kb/message.jspa?messageID=9505870  B. I suspect I'd agree with a fair bit more if I were to become 'adequately adept' with Python, for which purpose I'm planning to try to learn a bit of it. (As you'll rightly observe, this is something I've been promising for quite a while! I agree  but see below). Anyway, I'm replanning now to investigate Python via "Python + Geometry at FreeGeek, Portland, Oregon" (http://4dsolutions.net/ocn/pygeom.html). It will take me a while, however, as I do tend to get pretty busy with various other aspects of life and work and play, particularly things connected to my 'One Page Management System' (OPMS) Mission: OPMS Mission 'M': "To develop OPMS and to promote and propagate it systematically". In any case, I'd be most happy to receive any other thoughts you may have relating to Python, specifically on how I may become 'reasonably adept' with it, etc, etc. Of course, my idea of becoming 'reasonably adept' with Python is a 'subMission' of my main mission 'M'. As you may have guessed, I have literally thousands of such 'subMissions', amongst which are things like "To help out others interested in developing effective education systems", "Improving math education systems", etc, etc. I also have a great many 'individual' Missions, a few 'organisational' Missions, quite a few 'societal' Missions such as the ones about education mentioned above. There are others, of course, such as "To find the 'right financiers' to help develop and market OPMS", etc, etc  there are literally THOUSANDS of Missions of all kinds, ALL of them either contributing to 'M'  these are the 'subMissions'. Others are Missions to which 'M' contributes or to which I believe 'M' would contrib! ute. As a 'sidebar' of sorts, it may be appropriate to mention that even a posting like this is generally written after the construction of a few OPMS models, which may or do: i) Enhance the effectiveness of the posting; ii) Enable me to understand the 'system' somewhat better; iii) Serve to promote OPMS in some way or another. I must confess that  *despite* using OPMS quite assiduously  I STILL do find that I'm prone to making errors in the things I choose to do and the things I choose not to do... This is doubtless due to my personal character or lack thereof and my personal characteristics, both of which I'm working on pretty 'systematically' (using OPMS, of course!). In this connection, I observe that I've succeeded in doing a few of these things, have failed in doing a great many more of 'these things'. In this connection, a couple of 'observations': Observation 1: OPMS does not ensure the achievement of *perfection* in anything, but it does help significantly with *systematic and, perhaps, systemic* improvement on many  not all  issues. But we already knew that, didn't we?!! Observation 2: The one thing I DO have down fairly pretty well near *perfectly* is something that I learned to do long, LONG before OPMS ever came to be: <<The first thing to do in the morning is to complete ablutions, bath, etc, etc, etc>>  These of course were things I was 'trained' as a child to do long, LONG before I ever even learned to read or write! (The attachment, "How A Child Learns" may indicate some useful thoughts in this connection). Observation 3: I do find that I do now understand 'the system' as a whole and in all its parts rather better than I did a year ago, a little better at least than I did yesterday... In connection with ALL of the above, a couple of notes: A: FreeGeek.org: I'd strongly recommend using some other 'colour scheme': white lettering on black may appear very fancy, but does tend to detract quite significantly from 'general readability'  particularly for those who (like me) may be afflicted with poor eyesight. In any case, I do hope to connect in pretty short order with FreeGeek and FreeGeekers. B: In general, I'd suggest the serious consideration by you of the late John N. Warfield's approach to and ideas about 'systems modeling': By and large, I have found that this approach gets you right down to the 'nittygrittiest' of the nitty gritty on ANY issues taken up to work and/or play with (the heart of the matter, ANY matter, as a matter of fact!). I've attached herewith "What Is Modeling?", which, directly quoting Warfield, articulates modeling issues in just about as simply as I believe may possible in standard prose. I'd guess the only way to get deeper into the 'heart of things', GST, 'systems' and 'systems thinking' etc, etc is via the 'prose + structural graphics' (p+sg) that I often mention in my posts. GSC 03 How a child learns2.doc (48K) Download Attachment 09 â Background note â What Is Modeling.doc (45K) Download Attachment 
In reply to this post by kirby urner4
Gary Tupper posted Jun 29, 2014 11:55 PM Jun 29, 2014 11:55 PM (http://mathforum.org/kb/message.jspa?messageID=9506186)  GSC's remarks follow:
> > Working on the assumption that math is highly > sequential (certain topics > need be mastered as prerequisites for subsequent > topics) then such a > list does indeed seem reasonable. Though I tend to > think we usually jump > into the middle & backtrack where necessary. > Many  perhaps most  parts of math (topicwise) are indeed 'sequential' in the way you've suggested. I.e., Topic K may precede Topic F, and so on. (Some math texts do indeed contain, in their prefaces or introductions, some suggestions about how certain topics may 'prerequisites' for certain others). For instance,it is pretty clear that "Learning to Count (numbers)" should precede "Learning to Add and Multiply (numbers)". And, in most cases, "Learning to Add" should precede "Learning to Multiply", in particular as multiplication is 'repeated addition'. However, things are not quite so simple as the above may lead one to believe: our 'thought systems' (and our 'thought processes' going on within) are far more complex and subtle than can be handled via the somewhat rigid and 'unsubtle' "PRECEDENCE" relationship. I suggest that the "PRECEDENCE" relationship is not necessarily the best one to apply to help get us to an *effective* understanding of the 'system' by which the needed knowledge is most effectively imbibed and understood by us for use and application: "PRECEDENCE" may well be useful  but I suggest that could be later, MUCH later  after we've come to understand the subtleties underlying system in some depth and detail. *Effective* understanding is better accomplished through more 'subtle' means, as indicated below. Math is not 'strictly linear', and the 'learning of math' is even less so. Strict "PRECEDENCE" may be appropriate for linear systems. In particular, with regard to the way learners learn various topics in math (or for that matter any subject), depending solely on "PRECEDENCE" may lead us to ignore many subtleties in the 'learning process'. There is, to be sure, almost always some sort of a 'precedence' relationship of sorts operating in regard to an appropriate way to order' 'Topic A', 'Topic B', 'Topic C' and so on. However, the 'learning and understanding' of any discipline is far more complex than can be handed by the 'strictly transitive', 'nonreflexive' properties of "PRECEDES". As a 'system relationship, "PRECEDENCE" is extremely 'rigid', while our thought processes are subtle and very flexible; we should be looking at a relationship that is as flexible and subtle as our thought processes. Very useful to discuss our learning purposes right from the start is the relationship of "CONTRIBUTION" in the following way: "The learning (and understanding) of Topic A MAY CONTRIBUTE TO the learning (and understanding) of Topic B", and so on (where it is understood that 'A', 'B' are just names of topics and do not indicate any kind of 'ordering'). Example: "Learning (and understanding) the concept of 'Addition' SHOULD CONTRIBUTE TO learning (and understanding) of the concept of 'Multiplication'" The "CONTRIBUTION" relationship enables us to 'order' the learning of topics much more subtly than "PRECEDENCE" permits. For one thing, the "CONTRIBUTION" relationship is 'reflexive', i.e., 'A' contributing to 'B' does NOT preclude 'B' contributing to 'A'  "PRECEDENCE" is strictly nonreflexive, which immediately removes any chance of exploring the subtleties that are inherent in the 'learning process'. (I am NOT suggesting that "PRECEDENCE" should not be used; merely that a fair amount of study of the system via "CONTRIBUTIONS" within it would be most useful to help us understand the system. Later  MUCH later; after we've come to understand the system to some degree  "PRECEDENCE" may turn out to have some utility in enabling learning). The application of the "CONTRIBUTION" relationship to the factors within any system  in particular our 'thought systems'  enables us to construct very useful 'graphical representations' of our 'mental models', describing, for instance, the 'way we learn'. Such graphical representations predicated on 'CONTRIBUTIONS" are rather closer to the processes that may be going on in our minds as we learn than can ever be described by a picture using the "PRECEDENCE" relationship. "PRECEDES" as a relationship in any 'system picture generally tends to remove much of the subtleties inherent in the 'system of our thought processes'. In general, it's been found in the 'systems approach' pioneered by the late John N. Warfield, that the transitive relationship "CONTRIBUTES TO" (considered along with its 'system negatives', "HINDERS" and "PREVENTS") enables us to develop a pretty fair 'inital' picture of the interrelationships between the factors (or 'elements') of the system under consideration. This has been found to be true for 'natural systems', 'humanmade systems' (including 'individual', 'organisational' and 'societal' systems as well as 'thought systems' such as math). There are a very sizable number of 'transitive' relationships that are useful to help us arrive at an improvede understanding of what's going on in the complex systems we encounter. By far the most useful transitive relationship (view helping us understand the system under consideration) is "CONTRIBUTES TO" (along with its 'negatives "HINDERS" and "PREVENTS"). > > But generally, I feel the major concern for students > of math may lie in > the affective domain. The ability to benefit from > mistakes, the ability > to concentrate for extended periods  not to simply > give up. I tend to > think of mathematics as something to be "figured out" > rather than simply > "learned". Students might well benefit from trying > the chapter end > exercises before studying the chapter itself. > Students may well be able > to 'complete the square' after being taught the > method  but should be > encouraged to *figure out* why it works. Math is > possibly the aptest > subject area wherein a student can 'reinvent the > wheel'. > > > As for prerequisites for a math/programming course: > early exposure to a > 'turtle graphics' package would be well worth > considering. It is visual, > correlates closely to physical reality and is capable > of producing > dramatic images. Reinforces concepts of distance & > motion including > orientation. But best of all  it can provide > enjoyment & the > satisfaction of succeeding in achieving a goal. And > most programming > languages, including Python, have a turtle module. > > Gary Tupper, > Terrace BC > The hope is that we shall come to see 'systems designed for the convenience of humans', to contrast with the existing ones, which largely appear to demand 'humans designed for the convenience of systems'. The way we learn math, for instance, should be determined by how *effectively* we, as individuals (and perhaps in groups as well), are able to learn it, not on some 'rules of precedence'  where precedence happens to be exactly the wrong 'system relationship to help us arrive at an *effective understanding of the system. I've discussed, in several posts at this forum, the approach to systems developed by the late John N. Warfield. In particular, Warfield developed powerful 'systems modeling' tools that enable us effectively to 'handle' relationships such as "CONTRIBUTION" in complex systems. The main tool developed by Warfield is called 'interpretive Structural Modeling' (ISM), which enables us to develop graphical represenations of our 'mental models' predicated on most of the 'transitive' relationships that we may encounter within complex systems. For example:   "CONTRIBUTES TO" (and its 'system negatives' "HINDERS" and "PREVENTS");   "ENABLES"; "SUPPORTS"; "LEADS TO"; along with a great many other transitive system relationship;   "REPORTS TO" has been found useful to sketch 'organisation charts showing responsibilities, etc.   ISM enables us also to construct such graphical models using the relationship "PRECEDES" as well. (If you're aware about Management 'Science', you may have heard about PERT and Gantt Charts depicting how Events and Activities in a system may "PRECEDE" one another in time. Because os the misunderstanding of the Management 'Scientists' about the role of "PRECEDENCE" in complex systems, these PERT and Gantt Charts became a central Management 'Science' discipline called 'Project Management', which alas led only to project Mismanagment, alas).   One very important transitive system relationship that ISM does NOT allow us to handle effectively is "IMPLIES". [The transitivity of the "IMPLICATION" relationship is what I describe as '2nd Order Transitivity'; ISM enables us to handle only '1st Order Transitivity'). An important OPMS project is expected to seek to develop an effective tool to help construct graphical models predicated on the "IMPLICATION" relationship, but, for various reasons, this may take a while. Meanwhile, we have been informed by Mr Robert Hansen that he himself and other experts know everything that there is to be known about "IMPLIES" and that they do not require any such graphical aids. GSC 
In reply to this post by kirby urner4
Looks like my reply may not have been deemed worthy. Here's a personal reply with another try at getting it archived. Kirby
 Forwarded message  From: kirby urner <[hidden email]> Date: Sun, Jun 29, 2014 at 7:57 PM Subject: Re: An AlgebrathenDigitalMath track To: Mathteach Teach <[hidden email]> On Sun, Jun 29, 2014 at 11:25 AM, Gary Tupper <[hidden email]> wrote:
Yes, the Turtle Art movement, spearheaded by Ed Cherlin, OLPC spinoff SugarLabs, our own Gregor Lingl, Vienna (maintains Pythons turtle module)  such a rich subculture. http://wiki.sugarlabs.org/go/Activities/Turtle_Art In my own coursework I'm sort of playing off Turtle Art with a branch / fork I call Tractor Art, where my turtle is imagined to be a tractor in a field, with added methods like plow and plant. I've got this exotic blend spelled out in more detail in Pycon circles (some Python conference goers already know of my tractor obsession). :D http://www.slideshare.net/kirbyu/pycon2012proposedlightningtalk (it says "proposed" but I've given this talk quite a few times already, including at Portland State University, Systems Science Program, by invitation). I'm not suggesting a "new standard" based on what I happen to do for Saturday Academy or O'Reilly School or whatever. I'm a drop in the bucket. Just saying, there's room for mentors / teachers / coaches / scout leaders to get creative and build on an already tremendous heritage of free (and not so free) software. Kirby 
Free forum by Nabble  Edit this page 