math futurism: diagramming a possible future

39 views
Skip to first unread message

kirby urner

unread,
Apr 10, 2016, 10:35:41 PM4/10/16
to mathf...@googlegroups.com

Here's an 8-9 minute Youtube wherein I outline my grand strategy for re-visioning a K-16 design.

https://youtu.be/eTDH7m4vEiM   (8 to 9 mins)

Related blog post:

http://worldgame.blogspot.com/2014/09/lambda-versus-delta.html

I'm sure the above Youtube will be showing up in my blogs soon.

Kirby


Ted Kosan

unread,
Apr 11, 2016, 1:42:25 AM4/11/16
to mathf...@googlegroups.com
Kirby wrote:

> Here's an 8-9 minute Youtube wherein I outline my grand strategy for
> re-visioning a K-16 design.
>
> https://youtu.be/eTDH7m4vEiM (8 to 9 mins)

Bertrand Russell stated "Logic is the youth of mathematics and
mathematics is the manhood of logic." Here is the paragraph this
sentence came from:

"Mathematics and logic, historically speaking, have been entirely
distinct studies. Mathematics has been connected with science, logic
with Greek. But both have developed in modern times: logic has become
more mathematical and mathematics has become more logical. The
consequence is that it has now become wholly impossible to draw a line
between the two; in fact, the two are one. They differ as boy and man:
logic is the youth of mathematics and mathematics is the manhood of
logic. This view is resented by logicians who, having spent their time
in the study of classical texts, are incapable of following a piece of
symbolic reasoning, and by mathematicians who have learnt a technique
without troubling to inquire into its meaning or justification."
("Introduction to Mathematical Philosophy", Russell 1919, 194–195).

Since "logic is the youth of mathematics", I think formal logic should
start to be taught very early in the K-16 sequence, and before very
much mathematics is taught. I think if students were taught logic
first, learning mathematics would take less than half the time it
currently takes. This would leave more than enough time to teach both
Delta Calculus and Lambda Calculus to all students.

An understanding of formal logic makes what are considered to be
complex topics simple. For example, the essence of Lambda Calculus is
that it is a way to turn formulas into properties. In formal logic,
mortal(Socrates) means Socrates is mortal, and mortal(Plato) means
Plato is mortal. So how does one say simply "mortal"? In Lambda
Calculus, the property of being mortal is indicated by the expression:

(λx)mortal(x)

Ted

kirby urner

unread,
Apr 11, 2016, 11:47:59 AM4/11/16
to mathf...@googlegroups.com


On Sun, Apr 10, 2016 at 10:42 PM, Ted Kosan <ted....@gmail.com> wrote:

<< SNIP >>
 
(λx)mortal(x)

Ted



Thanks for your interesting comments Ted.  In may own case it's true that logic was an early fascination.  In high school I spent hours with Wff 'n Proof, a little dice game in a box that taught a LISPish logic notation in that the operator came first.  "if p then q" used the K operator if I recall i.e. Kpq. 

This early fascination might have had something to do with my later majoring in Philosophy at Princeton.  I also liked Hewlett Packards RPN calculators with no equals key or parens.

Ever since New Math in the 1960s, inspired in part by the rise of Set Theory & Logic ala Russell et al, there's ample precedent for including (A) some set operations and (B) "truth tables" in K-8. 

Even as a 2nd grader, I was learning Union, Intersection, Subset, is an Element of... then transferred to an English school in Italy wherein such topics were as yet not a feature.  I forget exactly when we first encountered the upside down A ("for all...") and the backwards E ("for each...").

Of course Logic is historically way more than notation and/or the Boolean Logic of "truth tables" (law of contrapositive and so on) and descends from Rhetoric, the art of winning an argument. 

In rhetoric we learn the fallacies of ad hominem and "argument from authority".  This latter spin on Logic may seem "more cultural" than the aforementioned (e.g. Boolean) but then in my book "all math is ethno-math" i.e. it's cultural all the way down (to where "cultural" becomes indistinguishable from "physical").

This tradition of Rhetoric, so hyped in 'Zen and the Art of Motorcycle Maintenance' (Pirsig) is still alive and well in Debate World, i.e. in that "sport" of judged debating that permeates the schools as a quasi-extracurricular activity in many cases. 

My daughter took an interest in this activity and around the time she started busing across town to join another school's team, because our team didn't have one, a guy named Gonzo showed up as the regional debate coach, and was based in our school. 

He and my daughter started a new team and took it to fame and glory.  In all his years of coaching, Gonzo had never gotten a team to the national championships, but in collaboration with my daughter, his team got to two of them.

Speaking of Debate World, you may not have time for an hour-long RadioLab at this time, so I recommend bookmarking this link for later listening, perhaps sharing.  So insightful and artfully produced, recommended by said daughter, now about to graduate college (in physics and philosophy with a minor in computer science):    http://www.radiolab.org/story/debatable/

Somewhat oddly, the RadioLab makes no specific reference to this movie: http://www.imdb.com/title/tt0427309/ , which suggests history is repeating itself, actually more spiraling.  That RadioLab episode generated lots of comment e.g.:  https://www.reddit.com/r/Radiolab/comments/4a5ucw/debatable/

Bertrand Russell style mathematics may be too much about being alone with your symbols, noodling, whereas actual Logic is a "contact sport" with the possibility of wounded egos.  Young children need to develop conflict resolution skills that will serve them in adulthood, meaning seeing them in action (I favor more than one adult teacher in the room, still an uncommon practice in K-16). 

Whether one's parents get along in some nuclear family matrix is relevant in this regard, although I'm not arguing for any direct correlation.

C.K. Raju shares my view that Logic is also cultural.  I find Westerners are more either/or than they need to be, and this gets them into trouble (that's a generalization but not all generalizations are false); they forget about both/and. 

As soon as two ideas enter the room, a lot of small town "cowboys" think "there's not enough room for the two of them in this town", immediately sensing a competition, a pressing need to "duke it out".  "City slickers" on the other hand, are more likely to have a "live and let live" attitude because hey, it's not a "small town" anymore. 

How does the study of Logic free one from parochial "small town" attitudes?  If it's all about "my way right, their way wrong" then it's flawed from the get go.  My Liberal Arts bias is showing through I realize.

I went for Wittgenstein's later philosophy at Princeton, which Bertrand Russell claimed to not understand and which Wittgenstein assured us Russell could never have understood based on his earlier misreading of the Tractatus (which Russell made famous in reviewing it). 

They had an uneasy relationship, but I'd call it a friendship nevertheless. 

A fun little graphic novel, accessible to old and young alike, is Logicomix, you may have seen it (definitely in my collection):  http://www.logicomix.com/en/index.html .

Kirby 



kirby urner

unread,
Apr 11, 2016, 12:37:35 PM4/11/16
to mathf...@googlegroups.com
On Mon, Apr 11, 2016 at 8:47 AM, kirby urner <kirby...@gmail.com> wrote:
 
 
 I forget exactly when we first encountered the upside down A ("for all...") and the backwards E ("for each...").


My bad.

Caveat:  a better translation of backwards E is "there exists" i.e. at least one example is possible ("E for Example" is a good mnemonic).   https://en.wikipedia.org/wiki/List_of_logic_symbols

Kirby

Ted Kosan

unread,
Apr 12, 2016, 12:17:23 AM4/12/16
to mathf...@googlegroups.com
Kirby,

The first time I became aware that the subject of logic even existed
is when I read "The Lion the Witch and the Wardrobe" by C.S. Lewis in
the 5th grade (which was around 1975). In this book the Professor
rants “Logic! Why don’t they teach logic at these schools?”. The next
time I was exposed to logic (apart from the Boolean logic which is
taught in digital electronics classes) was in 2008 when I started to
study how CASs work.

A year or so ago I obtained a copy the Wff 'n Proof logic game, and my
understanding is that K-6 students are able to play it. What are your
thoughts on other ways to teach fundamental logic to K-6 students?

Ted
> --
> You received this message because you are subscribed to the Google Groups
> "MathFuture" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to mathfuture+...@googlegroups.com.
> To post to this group, send email to mathf...@googlegroups.com.
> Visit this group at https://groups.google.com/group/mathfuture.
> For more options, visit https://groups.google.com/d/optout.

kirby urner

unread,
Apr 12, 2016, 1:20:56 AM4/12/16
to mathf...@googlegroups.com
On Mon, Apr 11, 2016 at 9:17 PM, Ted Kosan <ted....@gmail.com> wrote:
Kirby,

The first time I became aware that the subject of logic even existed
is when I read "The Lion the Witch and the Wardrobe" by C.S. Lewis in
the 5th grade (which was around 1975). In this book the Professor
rants “Logic! Why don’t they teach logic at these schools?”. The next
time I was exposed to logic (apart from the Boolean logic which is
taught in digital electronics classes) was in 2008 when I started to
study how CASs work.

A year or so ago I obtained a copy the Wff 'n Proof logic game, and my
understanding is that K-6 students are able to play it. What are your
thoughts on other ways to teach fundamental logic to K-6 students?

Ted


I'd forgotten Logic was mention in that C.S. Lewis novel, which was read to us out loud by my 3rd grade teacher -- though in English school they called it "First Form". 

Her readings hooked me on the Narnia books and I read them all.

So you know about Wff 'n Proof then.  So obscure.  Museum-worthy:
http://www.computerhistory.org/collections/catalog/102653202

A popular computer game for the Apple II E was Rocky's Boots, a series of puzzles solved with boolean logic gates.  Lets hope I can find a Youtube that curates it...

Yessss!

Drag the scroll bar ahead in the timeline to like 5:13 to see the logic gates we got to play with.  What games for kids are like that today I wonder.  Let me go look....

Wish I understood this better:
https://youtu.be/KWqo34oJRSo

Ah, an explanation, I'm starting to get it now:
https://youtu.be/7o719z-gOCQ

I'm having some trouble understanding this one, maybe as I'm not a MineCraft guru:
https://youtu.be/OOWaYNf35X4

Scrap Mechanic and Minecraft seem similar.

I didn't quite get this one either:
https://youtu.be/OTLkP7E5ySM

Kirby

Christian Baune

unread,
Apr 12, 2016, 1:33:20 AM4/12/16
to mathf...@googlegroups.com

To be fair, I am a westerner. From Belgium.

The old school way of introducing mathematics was to begin with logic. And more precisely being able to differentiate "true" from "truth" and "valid" from "correct", "just" and "accurate".

Then we had basic arithmetic (on N) and ven diagrams.

From there, we learned Z which was simply a generalisation of N. Then went back on Venn to show how N,Z,R and Q are related.

Someone leaving primary school knew the basics of set theory and logic of predicate. (Eg. 《How can one prove that all cat aren't necessarily black?》)

This was the kind of question a 10 year old would have laughed at!

Based on this, we had things like "compound surfaces" etc.

The 6 years of primary school have been spread on higher classes and the curriculum overly simplified.

I remember havinh learn to cook and sewing. I even learned to read lables. These alongside reading various symbols (bio hazard, acid, prone to explode, no ironing, hand washing, ...)

And we had days where we didn't really "learn". Where we did go to museum, prepare a piece or even come to school dressed as 30 years ago and use feather to write.

It was a school from a small village. With very old tradition and traditional teaching.

When I joined an ELITE high school (one of the most difficult due to my high grades in primary school), I literally thought a mistake was made and that I was with the dumbest people!

I wasn't and hardly learned that "thing had changed and the old way of teaching is revolved".

I then moved in another school to be a computer scientist and, gosh, It was worse!

We hsd thing like "boolean algebra". I saw the beginning and told "Ah well, it's on par with set theory isn't it?" and the teacher was like "What?!". I then started to explain the relations between the two and how logical it was. She was stumped and told me something like this: 《How do you know set theory, it is academic subject?》. And I thought "What ? They speak of red cars and red trucks in academy?" (one of the many examples we had when constructing Venn diagrams)

I had the same surprise in other subjects!

Luckily people are kind of returning to bases : learn logic first, fil learning, etc.

When old fashioned is very modern :-p

Ted Kosan

unread,
Apr 13, 2016, 1:16:50 PM4/13/16
to mathf...@googlegroups.com
Christian wrote:

> The old school way of introducing mathematics was to begin with logic. And
> more precisely being able to differentiate "true" from "truth" and "valid"
> from "correct", "just" and "accurate".
>
> Then we had basic arithmetic (on N) and ven diagrams.
>
> From there, we learned Z which was simply a generalisation of N. Then went
> back on Venn to show how N,Z,R and Q are related.
>
> Someone leaving primary school knew the basics of set theory and logic of
> predicate. (Eg. 《How can one prove that all cat aren't necessarily black?》)

It is very good to hear that the "learn logic first" approach to
teaching mathematics works and works well! Would it be possible for
you to submit more detailed information on what an old school primary
school mathematics curriculum consisted of?

Ted

Ted Kosan

unread,
Apr 13, 2016, 1:21:42 PM4/13/16
to mathf...@googlegroups.com
Kirby wrote:

> So you know about Wff 'n Proof then. So obscure. Museum-worthy:
> http://www.computerhistory.org/collections/catalog/102653202

Interestingly, Wff'n Proof games are still being sold:

http://www.gamesforthinkers.org/all/logic/

Ted

Joseph Austin

unread,
Apr 13, 2016, 9:48:54 PM4/13/16
to mathf...@googlegroups.com
Kirby,
I see your video has prompted an interesting discussion on teaching logic.

Now it seems to me all these curricular ideas are "bottom up",
starting with building blocks and then creating grander and grander structures.

There is an alternative approach, supported somewhat by lambda calculus: the "top down recursive" approach.
Start with an assertion of the "answer", gradually break it down into components.

The latter approach would seem to provide better motivation.
Start with the question, or the "application". And keep "peeling the onion" until you get to the fundamentals 
(if you ever need to get that far.)

Consider modern society. All necessary "math" for most jobs can be condenses into a smart-phone or computer "app".
The practicing professional only needs to know what the inputs and answers mean, and how to set up the problem and enter it into the app.

Of course, there is a profession of "app builder".  But even this works best when the app builder is familiar with the profession that uses the app.
We have all too many apps designed by computer geeks who have no concept of the real-world challenges of the would-be app user.
(So I would agree with teaching "app building" skills to all professions, just as we acknowledge that all professions need reading and writing.)

I continue to believe that the fundamental "application" of math/CS is "building models".  
Specifically, models of "measurable (sensible) relationships in the real world."
These relationships could be quantitative.
Or they could be qualitative (kind)--which might be modeled by set theory.
Or they could be "positional" (geometric or topological), as for example the chemical configuration of biological structures.
What if we replaced "numbers" and "points" with "rigid bodies" (six degrees of freedom) or "deformable media" (tensors) as our "fundamental" units?

We know logic and set theory are equivalent, but which is "real"? 
I'm thinking that what we call "logic" might be ultimately derived from the properties of "sets," that is, common properties and inclusion.
In any case, "sets" are typically easier to visualize and model than "truths".

So why isn't logic or set-theory taught? And if taught, why not more used? 
Perhaps because we have focused so much on "counting" and "measuring" that we have neglected "positioning" and "classifying" and "inclusion".

In a culture in which everything is reduced to time and money, 
"diversity" has become something to be abstracted away instead of explored for it's rich variety.

What if, instead of counting apples and oranges, and building with Legos, 
our children were taught to count hydrogens and carbons and oxygens, and build hydrocarbons and sugars and proteins?
What "math" could they learn exploring the oxidation of hydrocarbons or the metabolism of starches or the reproduction of bacteria?

So even before logic, we need the "raw materials" on which logic and other "math" is based:
Similarities and differences; inclusion and exclusion; relative position and orientation; count and quantity (and the difference between them).
I would never introduce "numbers" without qualifying "units" and even "position/orientation".
So I guess my "math" would be more like geometry than arithmetic.
E.g. "John and 3 apples and Mary has 2 (apples) " is not merely 3  +  2.
It's also a statement of set membership and like units.

I guess I'm starting to ramble, so let me close with a parting thought:
What makes elementary math "hard"?

Two things:
1. The decimal place-value number system and algorithms for doing arithmetic with it.
(Consider teaching "arithmetic" with unary numbers--what would be lost, theoretically speaking?
Even "binary" is as much easier than decimal as decimal is easier than Roman numerals.)

2. Trying to do "word problems" without "algebra", that is, without the rule-based rearrangement of statements of quantitative relationship.
(Consider a COBOL-like "limited vocabulary" for expressing quantitative relationships, and devise a set of "rules" (analogous to the Greek rules of logic) for interpreting and rearranging them.)

Joe Austin




kirby urner

unread,
Apr 14, 2016, 12:01:39 AM4/14/16
to mathf...@googlegroups.com
On Wed, Apr 13, 2016 at 6:48 PM, Joseph Austin <drtec...@gmail.com> wrote:
Kirby,
I see your video has prompted an interesting discussion on teaching logic.



Yes.  

My mention of said video on math-thinking-l prompted Emmanuel to offer a related link even without watching the video (he's likely watched it by now).

If you check this blog post for a sec, I think you'll see why.  

It takes a human, more than a machine, to really appreciate these connections (their humor if nothing else):


 
Now it seems to me all these curricular ideas are "bottom up",
starting with building blocks and then creating grander and grander structures.



What we get with a the computer is a rational structure prefigured in so much of rational thought:  the idea that big steps "higher up" correspond to many littler steps "further down".  

In this case, "higher up" means a high level logical language whereas "close to the metal" we get "assembly language".

[ Meme:  JavaScript as the Assembly Language of the Internet (taken up in one of the Pep Talks blogged previously to my own above). ]

Whereas Bertrand Russell imagined a logical structure wherein it took a whole Principia's worth of logical "source code" to show 1 + 1 == 2, in Computer World we don't have to imagine; we have exactly this relationship between bit flips in a chip -- controlled by a instructions running really fast -- and a human expressing something closer to a "proposition" (never mind for the moment if it's "true"), a web page.


 
There is an alternative approach, supported somewhat by lambda calculus: the "top down recursive" approach.
Start with an assertion of the "answer", gradually break it down into components.

The latter approach would seem to provide better motivation.
Start with the question, or the "application". And keep "peeling the onion" until you get to the fundamentals 
(if you ever need to get that far.)

I agree.  

Too much heads-down blinders-on overspecialization sucks all the meaning out of schooling and gives the "managers" (teachers) too much of an advantage.  

They know, presumably, how it all fits together, and see why we're spending hours and hours on integration by parts, factoring polynomials etc., but they refuse to tell us.  

That's not really a fair characterization of course:  the teachers are likewise over-specialists too, and likewise may not see the big picture (but young kids don't know this and imagine adults "know" why they teach as they do).

If we ask ("teacher teacher, why are we learning this?"), it'll all to often be: "because it'll be on the next test" or "because you want to get into college".

We need to start with what Math is For, and work backwards from that to What and then Why. 




Consider modern society. All necessary "math" for most jobs can be condenses into a smart-phone or computer "app".


The routine / automated parts of it, yes.
 

The practicing professional only needs to know what the inputs and answers mean, and how to set up the problem and enter it into the app.

Of course, there is a profession of "app builder".  But even this works best when the app builder is familiar with the profession that uses the app.

I worked for many years building applications useful to cardiologists, medical researchers, people studying short and longer term outcomes of various heart-related procedures.  

You can bet I learned quite a bit about the structure and function of the heart, and cardiovascular system more generally, in order to do this work.

I was always using lookup tables giving every artery in the heart and building those into my programs.  

Those are the arteries to feed the heart itself, to keep it pumping, and branch directly off the aorta.  

Those are also the ones that get clogged up and need "reaming out" (angioplasty) and/or sometimes bypassing (CABG).

 
We have all too many apps designed by computer geeks who have no concept of the real-world challenges of the would-be app user.


As I got more into it, they let me work in the operating room.  At first I just worked in CVOR overnight, when no one was there.  But later I'd also get to go in during an actual heart operation on rare occasions.  

A user of my application (say a perfusionist) would complain "the font is too big" or something and I'd have to go in and fix it.  Really, they were sometimes more interested in how I'd react to being in their world, which takes some getting used to I admit.

Not every geek who writes software for Jurassic Park, gets to play with the real dinosaurs.  But one hopes at least for a paid tour of the place. Programmers need to learn about the knowledge domain for sure, even if relying on non-programmers for expert guidance.

Thanks to my career as an applications developer, I got a front row seat on many lines of work over the years.  

I didn't get much experience in high finance though.  

I don't lay any claims to omniscience or anything close.


 
(So I would agree with teaching "app building" skills to all professions, just as we acknowledge that all professions need reading and writing.)


Or at least give professionals enough working knowledge of app building to speak the lingo when collaborating with application developers.  

I really liked working with heart surgeons because they have an aggressive approach to new knowledge like "there's nothing I can't learn".  They would come to meet me half way and think in terms of relational databases and GUI widgets.

"We need a new check box on the Complications screen mapping to a field in such and such a table."  Great, to have a heart doctor speak such clear geek like that.  

Health care and informatics are a match made in heaven in some ways.  

Medical people are ravenous for data-based feedback, as are those paying for health care, meaning health plans and the companies who buy them for employees (where a lot of the pressure to do "outcomes research" is coming from).  

All of us want to know "what works best" and that requires harvesting and analyzing statistics.  This was the field that I worked in, not direct patient care.  

We anonymized our data as we aggregated it.  Outcomes research has to stay HIPAA-compliant (respectful of patient privacy).



 
I continue to believe that the fundamental "application" of math/CS is "building models".  


Totally.

Lets just remember the close connections twixt:  

Model <-> Simulation <-> Game 

On the one hand we may dismiss "games" as superficial, a trivialization, a distraction.  

Yet at the same time our business gurus preach we should "gamify" our business (think of it as a game), not to trivialize it but to make it more amenable to Simulating i.e. Modeling.  

If we can do that, we might get a better handle of having a real Business Strategy.  Put another way, a great way to learn a business is to model it, and play it, as a game (a simulation).

So Mathematics helps us Model our Enterprises in a Big World.

Math helps us sail our Ship (Enterprise) on a great ocean (Space of Risks and Possibilities).

Maps.  Navigation.  Logistics.


Specifically, models of "measurable (sensible) relationships in the real world."

Sensors.  Surveys.  Feedback.  Quantification.  Visualization.

Link it to athletics and health.  Your body is an Enterprise.  

Measuring calories eaten versus calories burned.  We're learning about physics and chemistry here.  Energy is Conserved.

Sun -> Photosynthesis -> Vegetables -> Digestion -> ATP cycle -> Cell Division -> Another Day in the Sun.
 
These relationships could be quantitative.

... as in physics.
 
Or they could be qualitative (kind)--which might be modeled by set theory.

The idea of "many axes" is something to get across.  Too much conflating to a single axis goes on.  

Example: 

"Intelligence" or "Smarts" gets shown on a single axis, as if it's just one thing, some "g-factor" or whatever.  

A single axis, with a single Bell Curve, is drawn.  Yet that one-dimensional approach to Intelligence is, in and of itself, dumb dumb dumb!

Having a four dimensional structure does NOT require any brain bending visualizations.  Multi-dimensional arrays (logical primitives in some computer languages e.g. J, R and numpy), are NOT hard to think about.

A cell block of apartments or storage units is already XYZ in the sense of a row, column and floor.  (3, 4, 10) is a cell.  

Need another axis? Just picture two such cell blocks, or as many as you need.  Call that a group of cell blocks.  

Did you need more than one group of cell blocks?  

Call that a Prison and keep going.  (3, 4, 10, 2, 9).

[ I show sorting on four different axes, in code, in this recently shared Python script, just a reminder of how sorted( ) lets us pick any attribute we care about, when sorting N objects.


 
Or they could be "positional" (geometric or topological), as for example the chemical configuration of biological structures.

Yes, I was getting into "positional" above.

Modeling molecules:  that's an excellent place to go hunting for good math challenges.  There's a much stronger sense of chirality, left and right, enantiomorphism, than you'll find in some other disciplines.  Like in Tetris.

Chemistry gives us wonderful axes to sort on:  vary the number of neutrons to get the isotopes, vary the number of protons to get the elements, vary the number of electrons to get the ions and cations.

Sorting and Cataloging:  lets do more math around those.

Graph Theory.... Polyhedrons as Graphs.

 
What if we replaced "numbers" and "points" with "rigid bodies" (six degrees of freedom) or "deformable media" (tensors) as our "fundamental" units?


I'm thinking of Karl Menger's proposed Geometry of Lumps.  Everything is a Lump, the axiomatic Clay (no need to further analyze, as clay is made of clay).  

Think of a Point as small-round vis-a-vis a Line as more like spaghetti (maybe limp, not so brittle).  

Topology matters, but dimensions don't as much, as it's all Volumetric (spatial) in the Kantian sense. 

Why insist we might have depth without height or width without either? Volume is volume.  

When one pictures a "flatland" one sees it from "space".  Experientially, why treat space as "three dimensional"?  It's cultural. 

The most primitive container, a tetrahedron, has four faces, not three.  Space / Container / Enclosure -- these go together.  The cube is not a logic primitive in quite the way a tetrahedron is.

I'm getting off on a tangent, but when Geometry comes up, I tend to rocket away from a lot of the "standard" conventions, thanks to my different Ethnicity.  

2 x 2 = 4 is a picture of a triangle, edges 2, area 4, right?



We know logic and set theory are equivalent, but which is "real"? 
I'm thinking that what we call "logic" might be ultimately derived from the properties of "sets," that is, common properties and inclusion.
In any case, "sets" are typically easier to visualize and model than "truths".

So why isn't logic or set-theory taught? And if taught, why not more used? 
Perhaps because we have focused so much on "counting" and "measuring" that we have neglected "positioning" and "classifying" and "inclusion".

Python has a native set type we might use.

Running this:

Animals = {'monkey', 'pig', 'chicken', 'dog', 'spider', 'human', 'cat'}
Four_legs = {'dog', 'horse', 'cat', 'elephant', 'cow'}

print(Animals & Four_legs)  # intersection
print(Animals | Four_legs)  # union
print(Animals - Four_legs)  # in first but not second
print(Four_legs - Animals)  # in second but not first

We get this:

{'cat', 'dog'}
{'pig', 'human', 'cat', 'spider', 'monkey', 'elephant', 'horse', 'chicken', 'cow', 'dog'}
{'pig', 'monkey', 'chicken', 'human', 'spider'}
{'horse', 'elephant', 'cow'}



In a culture in which everything is reduced to time and money, 
"diversity" has become something to be abstracted away instead of explored for it's rich variety.

What if, instead of counting apples and oranges, and building with Legos, 
our children were taught to count hydrogens and carbons and oxygens, and build hydrocarbons and sugars and proteins?

Good suggestion.  Permutations and DNA.  Godel Escher Bach.

 
What "math" could they learn exploring the oxidation of hydrocarbons or the metabolism of starches or the reproduction of bacteria?


Chemistry is a lot like bookkeeping.  Atoms don't just appear and disappear. 

Balancing chemical equations is a great way to go, when learning bookkeeping / accounting.

https://youtu.be/oDVswHfZJzYn  (it's all STEM right?)

... so many Youtubes like this!
 
So even before logic, we need the "raw materials" on which logic and other "math" is based:
Similarities and differences; inclusion and exclusion; relative position and orientation; count and quantity (and the difference between them).
I would never introduce "numbers" without qualifying "units" and even "position/orientation".
So I guess my "math" would be more like geometry than arithmetic.
E.g. "John and 3 apples and Mary has 2 (apples) " is not merely 3  +  2.
It's also a statement of set membership and like units.


Keep it experiential, even if only by means of metaphor.

Position, size, orientation...  all aspects of reality.

 
I guess I'm starting to ramble, so let me close with a parting thought:
What makes elementary math "hard"?

Two things:
1. The decimal place-value number system and algorithms for doing arithmetic with it.
(Consider teaching "arithmetic" with unary numbers--what would be lost, theoretically speaking?
Even "binary" is as much easier than decimal as decimal is easier than Roman numerals.)

2. Trying to do "word problems" without "algebra", that is, without the rule-based rearrangement of statements of quantitative relationship.
(Consider a COBOL-like "limited vocabulary" for expressing quantitative relationships, and devise a set of "rules" (analogous to the Greek rules of logic) for interpreting and rearranging them.)

Joe Austin



Also sucking it dry of meaning and not dwelling on what it's For, makes it harder than is should / could be.

Kirby

Peter Farrell

unread,
Apr 14, 2016, 2:21:17 PM4/14/16
to MathFuture
Great ideas! 


"the fundamental "application" of math/CS is "building models"

It was always for measuring and modeling real stuff before it was turned into "pure" math.

Using Python sets (OK, other languages might work, too) to LEARN ABOUT SETS is brilliant. Gonna steal that.

I'm going to get some flak for this, but the meaning of anything is how it's used. You might "see the logic in it" much later, or you might never need to. And if you need to, you have the experience to build on.

The answer to "why are we doing this?" might be "Because it's fun!" Making interesting designs, models, and games is analogous to using our three chords to play a song we like. Why play a song you don't like? Actually, I played guitar in a duo where I was asked to learn songs by a famous act I don't particularly like, but I'm glad I did: I got better at the guitar by doing it! But we also played a lot of songs I did like.

Peter

kirby urner

unread,
Apr 14, 2016, 7:57:22 PM4/14/16
to mathf...@googlegroups.com
On Thu, Apr 14, 2016 at 11:21 AM, Peter Farrell <peterfa...@gmail.com> wrote:
Great ideas! 

"the fundamental "application" of math/CS is "building models"

It was always for measuring and modeling real stuff before it was turned into "pure" math.

Using Python sets (OK, other languages might work, too) to LEARN ABOUT SETS is brilliant. Gonna steal that.


What I liked about that Pyret site, and Project Euler too, is how many languages get placed side by side and we see How to Solve It in each one.

I've been immersed in a question the code schools are asking themselves:  may we just stick to JavaScript as our one Turing Complete language?  Answer:  you may, but it's somewhat unwise.  Two languages at minimum.  Python could be the other one, but why not a LISP?  Python could be your third.  No shame in that.

 
I'm going to get some flak for this, but the meaning of anything is how it's used. You might "see the logic in it" much later, or you might never need to. And if you need to, you have the experience to build on.


What I'm seeing in the NCTM "we use computers but aren't computer science teachers" is more anthropological than logical.  One needs to tell the story of Alan Turing, yes, but then the breakdown in the ability of those camps brought together in the emergency of war, to continue working together in peacetime (Cold War).

Put another way, there's this "looking down" on engineering from some snobby high, which in at least English-speaking circles has been seen like a good fit.  It doesn't translate, no only to other cultures, but into 2016.

 
The answer to "why are we doing this?" might be "Because it's fun!" Making interesting designs, models, and games is analogous to using our three chords to play a song we like. Why play a song you don't like? Actually, I played guitar in a duo where I was asked to learn songs by a famous act I don't particularly like, but I'm glad I did: I got better at the guitar by doing it! But we also played a lot of songs I did like.

Peter

Because it's fun is a good one, and Linus Torvalds underlines how fun it is in this appearance with Ricky Gervais.  But then there's also keeping airplanes in the air and public roads open to traffic (need lots of graph theory, signal theory, urban planning, just for starters).

What's not fun is watching it all go down the drain because everyone was too lazy to get good at anything.

I think 1900s-educated math teachers may be reluctant to see their favorite typography take its place with the others as "one more way of saying it".  And that's not always true.  Math has ways of going into non-computable territory and speculating in ways more like what spin doctors might do.

However the fact remains, a giant letter sigma as the signature of a continued summation is no more authoritative than your average for loop.  Writing it in Greek or German doesn't add much gravitas, now that computer languages can use them too.  

So what should math teachers do?  Learn to code.  It's obvious.  Don't buy the line (nefarious myth) that "other people" are supposed to step up to that plate.

Kirby



kirby urner

unread,
Apr 15, 2016, 12:53:22 PM4/15/16
to mathf...@googlegroups.com


On Thu, Apr 14, 2016 at 4:57 PM, kirby urner <kirby...@gmail.com> wrote:


I forgot my link when I said "this appearance":

https://www.ted.com/talks/linus_torvalds_the_mind_behind_linux

Regarding my earlier question of whether to teach "JavaScript only" as a Turing Complete language (we also teach SQL but as a specialized not-general-purpose API to a database engine), that's more a code school question than a math teacher question.

In code school world, we saw JavaScript escape the browser and migrate to the server starting around 2009.  Given a "full stack" certification means knowing how to code both the Front End and the Back End (both client and server), there's a temptation to take a JavaScript-only approach for both, now that this is possible. [0]

We also got a better handle on JavaScript through 2nd generation authors who had taught themselves well and could highlight "the good parts" (Douglas Crockford), a core subset of the language that is more conceptually pure and conducive to correct code (reliable, working, does what it should, bug free). 

JavaScript was invented by a genius (Bendan Eich), but in a big hurry under time pressure.  We're lucky any computer language developed under such rush conditions would be any good at all.  JavaScript is salvageable as a serious language, if learned well and not just casually.

But in high school level math world (post Algebra) I don't imagine JavaScript being anything close to the core focus it is within the code schools. 

The Lambda Calc track continues the Play theme I circled at the root of all of it all (see video [1]) and samples one language after another.  Use JavaScript sure, introduce it, but there's no need to make it a cornerstone of anything.  Specialization comes later.  Premature specialization is what the curriculum should avoid.

Kids and adults alike (I'm for always keeping adults in this picture) develop the confidence to explore, to try out a new language for breakfast, like one more breakfast cereal.  This is not a time of strong commitment to any one language.  Dabble in Ocaml.  Write a program in Go.

Note that I'm taking a very different approach than AP CS (advanced placement in computer science) which is historically Java-intensive (Java and JavaScript are completely different languages [2]). 

The Lambda Calc track is not, repeat not, just a revamped AP CS. 

For one thing it's taught by math teachers, or at least they're free to teach it.  The CS faculty is not really calling the shots here, given it's designed as a Math track (capital M as in STEM). 

We're still learning about prime versus composite numbers, radians, vectors, trig, coordinate systems (addressing schemes), data storage (SQL), time-dependent motion (animation), group theory (closure, inverses elements...), CAS (ala MathPiper), equation solving etc. 

We're building and playing with models (games, simulations).

An advantage of not strongly committing to any one language is:

(A) we're free to go with the strengths of a given math faculty, which may be most vested in some front burner language (e.g. Python, Racket, Pyret, Clojure...)

(B) we don't need the different language communities to "duke it out" in some bitter math war wherein each one tries to "colonize" K-12 to achieve imperial dominance. 

Compete yes, that's healthy, but the Lambda Calc track itself suffers from no such "winner take all" deficiency.  Remember how much we're relying on local faculty to roll their own. 

No truck is coming by with the "definitive textbook" used by "every teacher in the state".  States are absolved of that responsibility to supply curriculum, as the professionals in this picture are the math teachers themselves, not legislators nor administrators, not politicians.

I turn to the LEX Institute, behind the classic 'Who is Fourier?' [3] (an introduction to both calculus and Fourier Transformation), for thinking about "why learning multiple languages all at once" is actually a good idea.

We learn more when we have "compare and contrast" material, which gives us traction. 

That's why going back and forth between a standard typography sigma expression (math textbook style), and a programming language "do loop" is so informative.  We see the same general idea expressed in two special case ways; which is like "seeing in stereo".  The two help "explain" one another.  Why stop at just two?

Students get a better feel for what's common among languages and what's variable, and that helps build sophistication.  If constructivists and constructionists are serious about this "each student constructs her or his reality" meme, then lets not hold back on raw material.

Tackling multiple languages (as I did at Princeton when I first arrived) is highly instructive in computer science and I don't know any compsci teachers who discourage learning multiple languages (cite Douglas Crockford again).  Why would math teachers take a different view?

Mathematics may suffer from the stereotype of being some "universal language" but in fact it decomposes into namespaces / language games just like compsci does.  Each branch of math has its own namespace.  There are commonalities, sure, a family resemblance, and one comes to appreciate that by "playing the field".

The LEX Institute was talking about human languages, with math as a human language, but then computer languages, especially the higher level ones, are designed to be expressive in the eyes of humans.  They're not just controllers of machines.  They're "human languages" too, like math language, like Wolfram Language.  The same principles apply, when it comes to language learning.

All that being said, I'm not discouraging individual students from "going deep".  We all know a given student may be seized by some passion for some language, say Haskell. 

What I'm suggesting is that the curriculum we're developing for the Lambda Track need not itself commit to a specific language.  That's a red herring and a time-wasting debate.  Use them all!  Give the teachers a freer hand!  Play!

Kirby

[0]  the so-called MEAN stack (MongoDB + Express + Angular + Node) is a good example of what some code schools have adopted for their entire curriculum.

[1]  http://controlroom.blogspot.com/2016/04/a-pep-talk-of-my-own.html  (Lambda & Delta Tracks)

[2]  Sun and Netscape were warring over whether Java or LiveScript would be the future with Sun more either/or than Netscape, which was both/and.  The compromise was to change the name of LiveScript to JavaScript, giving Sun more marketing ammo ("Java everywhere" is how it sounded -- music to Sun's ears).  Microsoft reverse engineered JavaScript to create JScript, which drove everyone to seek a standard lest the Browser Wars become too messy (it did get quite messy).  The resulting standard is called EcmaScript after the European Computing Machine Association, which took it on.  ES5 is the current state of the art, with ES6 in the wings.  Microsoft's TypeScript gets out in front of ES5/ES6 to give developers new features today.  Google wrote Angular 2, a JavaScript web framework, using TypeScript.  The so-called MEAN stack includes using TypeScript therefore.

Peter Farrell

unread,
Apr 15, 2016, 1:26:59 PM4/15/16
to MathFuture
Great ideas, as usual. And too many ideas, Kirby, as usual. ;-)

As much of a Python fan as I am, Javascript's browser-readiness is hard to beat. I've enjoyed using its P5.js library for creating interactive graphics (here are my mathy ones) that can be put immediately into a webpage. 

Who is Fourier was a revelation! Reading cartoon characters playing around with Fourier transforms,not to mention calculus and e and i, freed me up to play around with "hard" math topics myself.

That's enough ideas from me.

Peter

Ted Kosan

unread,
Apr 15, 2016, 2:31:09 PM4/15/16
to mathf...@googlegroups.com
Kirby wrote:

> What I'm suggesting is that the curriculum we're developing for the
> Lambda Track need not itself commit to a specific language.

I think any computer language that is taught by K-12 math teachers
should have the following characteristics:

- Should be specifically designed to do symbolic computation.
- Enables infix, prefix, and postfix operators to be created as needed.
- Its syntax is designed for educational effectiveness, not commercial
efficiency.
- Its syntax can be evolved without needing to maintain backwards compatibility.
- Its code can easily be treated as data within the language itself.
- Must run in web browsers.
- Must contain only expressions (no statements are permitted).

Ted

kirby urner

unread,
Apr 15, 2016, 2:47:47 PM4/15/16
to mathf...@googlegroups.com

As devil's advocate Ted, I would say a requirement for any computer language that is taught by K-12 math teachers should be this:  it must exist, right now, today. 

Any attention given to a future "ideal teaching language" is for others (not busy math teachers) to worry about. 

Math teachers need to be doing this right now, today, ten years ago.

So take your pick from existing languages (lots and lots to choose from).  If you consider none of them adequate then maybe you're too elitist for the real world?  We need to get moving on this.  Grab one and go.

But don't just grab one.  That's another rule:  any "just one language is enough for me" approach is bankrupt from the get go.

Kirby



Ted Kosan

unread,
Apr 15, 2016, 2:51:53 PM4/15/16
to mathf...@googlegroups.com
Kirby wrote:

> As devil's advocate Ted, I would say a requirement for any computer language
> that is taught by K-12 math teachers should be this: it must exist, right
> now, today.
>
> Any attention given to a future "ideal teaching language" is for others (not
> busy math teachers) to worry about.
>
> Math teachers need to be doing this right now, today, ten years ago.
>
> So take your pick from existing languages (lots and lots to choose from).
> If you consider none of them adequate then maybe you're too elitist for the
> real world? We need to get moving on this. Grab one and go.

MathPiper has all of these characteristics right now :-)

Ted

kirby urner

unread,
Apr 15, 2016, 3:01:29 PM4/15/16
to mathf...@googlegroups.com


MathPiper has all of these characteristics right now :-)

Ted


I consider MathPiper camera ready i.e. ready for deployment.  Michel Paul is to be congratulated for field testing it already.  Badge for Bravery, and for Relevance (to badges much in evidence by their absence in some schools I won't mention by name here).

Were I doing Saturday Academy classes these days (as I have in previous chapters), I'd be using it with my teens (I used to be a high school math teacher, way back before that).  We met at Oregon Graduate Institute when I started, then moved to Portland State, then to University of Portland, then to Reed.  I've probably taught on more college and university campuses in Portland than just about any gray around.

I'd want a minimum of two mentors brainstorming on ways to show off MathPiper at <guid /> (a code school for adults, though we get refugees who are minors, looking for help). 

For one thing, MathPiper is a study in the Java ecosystem, what it makes possible, as anchored by JEdit and what it can do IDE-wise.  It's a lesson in the power of a VM (a virtual machine) like the JVM.

http://worldgame.blogspot.com/2015/08/a-refresher-course.html

The equation solving part is of definite relevance as well, I'm not overlooking that, plus I'm looking forward to better understanding how it all works under the hood. 

Short animations on Youtube, showing parse trees getting created, might be part of it.  But you're going to tell us a lot more, about the rewrite rules.

Kirby



Joseph Austin

unread,
Apr 16, 2016, 10:25:41 PM4/16/16
to mathf...@googlegroups.com

On Apr 14, 2016, at 7:57 PM, kirby urner <kirby...@gmail.com> wrote:

So what should math teachers do?  Learn to code.  It's obvious.

And also, because "it's MATH."
But not only math teachers need to learn to code.
Any more than we would say only math teachers need to learn math.

The older I get, the more I realize that "you can't teach old dogs new tricks."
Fortunately, there are always new dogs coming along.
And as I argued earlier, if you wait until they become "teachers",
you've already waited too long.

If you already know how to code, become a code teacher.
Teach your kids or your grandkids.  Teach seniors or youth at the community center or at church.
Put a Raspberry PI in the Toys for Tots box.

Now as for CS being "math"--I suppose it's incumbent on us Computer Scientists to translate CS into their language,
if they won't learn ours.
Even if they don't accept Church or Turing, they already accept Boole.
Let's axiomatize!

I've been starting to re-think Science and Math along lines of "Conservation Laws."
An "equation" is basically a "conservation law" between the two sides.

Take a sum or product:
We typically teach the "table" as:

2+0=2; 2+1=3; 2+2=4; 2+3=5; 2+3=6; ...
2x0=0; 2x1=2; 2x2=4; 2x3=6; 2x4=8;...

What I'm saying is, this is wrong thinking.
The way we should be teaching it is like this:

 4+0 = 3+1 = 2+2 = 1+3 = 0+4; 
12x1 = 6x2 = 4x3 = 3x4 = 2x6 = 1x12;

We can develop all the same sums and products this way,
but we present it in the context of conserved quantities.

I maintain that no natural process yet discovered creates or destroys anything;
it is all rearrangement.
So why should math not accept the same constraints?
It is all rearrangement!

So how does this apply to CS?
If CS is modeling, we model conservative systems.
(Remember the old double-entry bookkeeping? For every debit, their must be a matching credit.)
Calculating is rearranging. Math is rearranging.
Let's systematize the axioms for rearranging, and they become the primitives of our coding language.
We can rearrange quantities. We can rearrange sets and symbols. We can rearrange points and lines and areas and volumes.
We can rearrange atoms and molecules. And we can rearrange money in time and pockets.

And thus we can rearrange the curriculum.

Joe Austin






Joseph Austin

unread,
Apr 17, 2016, 5:36:16 PM4/17/16
to mathf...@googlegroups.com

On Apr 14, 2016, at 7:57 PM, kirby urner <kirby...@gmail.com> wrote:

So what should math teachers do?  Learn to code.  It's obvious.

kirby urner

unread,
Apr 17, 2016, 7:40:30 PM4/17/16
to MathFuture


On Sunday, April 17, 2016 at 2:36:16 PM UTC-7, Joseph Austin wrote:

On Apr 14, 2016, at 7:57 PM, kirby urner <kirby...@gmail.com> wrote:

So what should math teachers do?  Learn to code.  It's obvious.

And also, because "it's MATH."
But not only math teachers need to learn to code.
Any more than we would say only math teachers need to learn math.



True.  And we don't have to call it learning to code.  I might calling
"learning to choreograph machine actions".  Or "telling a robot
what to do".  Did you know traffic lights are referred to as "robots"
in South Africa.

Cyc makes me think of the movie 'Chappie' (AI meets Republic
of South Africa (another meaning of RSA))

What if instead of "computer programmers" we had called them
"computer directors" or "machine instructors".  Certainly scripting for
TV is a lot like scripting objects, giving them roles (as players, each
with exits and entrances (scope)).

Choice of words is (a) important (b) subject to change over time.

Computer screen = Stage (as in Theater).  JavaScript controls
DOM-puppets.


 
The older I get, the more I realize that "you can't teach old dogs new tricks."


I'm not persuaded.  I try to learn at least one new trick a day.  ;-D

 
Fortunately, there are always new dogs coming along.
And as I argued earlier, if you wait until they become "teachers",
you've already waited too long.


If you wait for the new kids to grow up that's too much waiting. 
I'm working with the crop of adults already here.

Adults have more background knowledge, more experience, on
which to capitalize.

Like they've been through high school math once much of the
time, so a second time, in a code school context, is not entirely
new material.  We might go faster over the familiar stuff, yet
still slow down for Quadrays.

We still need to talk about powers and roots and the difference
between different number types, and different bases.

Look how close these two shelves are, almost touching (local
book shop):

https://flic.kr/p/GdKJFf  <-- picture taken

SWENG = software engineering
CP = computer programming
OOPS = Object Oriented Programming
(the metaphor of "subjects" with inheritance through generations)

[ I'd just say OOP but then that's not my bookstore.

https://en.wikipedia.org/wiki/Object-oriented_programming ]

If you already know how to code, become a code teacher.

Or make a lot more money not being a code teacher. 

They want everyone to know it so they can use it, but don't put
much thought into how or where it's taught.  The code schools
are growing up largely in response to colleges and universities
not doing their jobs, or at least that's how some tell the story. 

Others see more complementarity.  Universities are behind
the code schools in many cases, incubating them.  Like in
Jurassic Park. ;-D

As soon as a math teacher learns JavaScript + SQL and
becomes one of those rare few who includes lambda calc
material in her math teaching, she's out the door, hired away,
making at least twice as much, with better benefits, just
writing code for a living.

That's a real problem.

That was the third big problem identified by that book I quoted.

<quote section = "ibid">


•  Because there are so few computer science teachers, they lack a community.

They don’t have fellow teachers to discuss the challenges in their classroom.


•  Computer science class content changes often. A mathematics or physics

teacher can count on the content remaining mostly the same over many years,

so that the teacher can focus on teaching better. A computer science teacher

also has to deal with changing programming languages and tools.


•  A good computer science teacher often develops the computing knowledge

sufficient to work in the computing industry—for significantly more income.


</quote>


Remember I was solving 1 and 2 by saying "lets leave it to the math teachers"

i.e. we really don't need to import a whole new cadre of CS teachers.  We're

talking about flavors of math here, though not every English speaker is fast

enough to think that.


Then I was solving 3 by saying "lets pay them more to source their own

curriculum because big publishing has no suitable offerings, period." 

Want your school to look smart in the year view mirror?  Don't wait.


Who needs big publishing of wood pulp textbooks when our math

faculty and students are doing such great work filling the school

servers with such wonderful heritage?




 
Teach your kids or your grandkids.  Teach seniors or youth at the community center or at church.
Put a Raspberry PI in the Toys for Tots box.

Give up on everyone in their 30s?  I'm 57 almost 58, just the right age
to be teaching 21-49 year olds (mas o meno)

You're more than welcome to teach your seniors and little kids, I'll
stick to my existing demographic.  Complementary approaches. 
No need for either / or.

Boolean thinkers often suffer from an "either / or" syndrome -- not saying
that's a problem here, just saying...
 

Now as for CS being "math"--I suppose it's incumbent on us Computer Scientists to translate CS into their language,
if they won't learn ours.

In STEM, I argue M has its own letter whereas CS is "diffuse" (permeates all four). 
So I'm fine with keeping it simple and having Lambda Calc be a math track.

We're looking to existing math faculties to open these opportunities for their kids. 
We're not looking to big publishing to help them.

We're not waiting for anything top-down to happen.  We are not looking to a
political party (unless maybe the Pyret Party har har).

 
Even if they don't accept Church or Turing, they already accept Boole.
Let's axiomatize!


Are we deciding which bodies to bury in which graveyard?  Math or CS?
Which was Pascal, how about Leibniz?  Why is taxonomy so godawful
important? 

How about a Human Language (HL) that does not distinguish between
Math and CS?

We know English speakers suffer from that confusion but then English
is notorious for its many "foot guns" (concepts to shoot yourself in the
foot with).

You know what they say about English (and Python as well, both at the
"consenting adult" end of the spectrum):  "more than enough rope to
hang yourself with."  I.E. if you don't watch yourself, you'll be thinking
outright nonsense in no time flat, and thinking yourself oh so rational.
That's English!


 
I've been starting to re-think Science and Math along lines of "Conservation Laws."
An "equation" is basically a "conservation law" between the two sides.


Good approach.  Laws of equality.  x - 3 = 10 so x - 3 + 3 = 10 + 3
(equals added to equals) -> x = 13.

 
Take a sum or product:
We typically teach the "table" as:

2+0=2; 2+1=3; 2+2=4; 2+3=5; 2+3=6; ...
2x0=0; 2x1=2; 2x2=4; 2x3=6; 2x4=8;...

What I'm saying is, this is wrong thinking.
The way we should be teaching it is like this:

 4+0 = 3+1 = 2+2 = 1+3 = 0+4; 
12x1 = 6x2 = 4x3 = 3x4 = 2x6 = 1x12;


The Lambda Track makes a lot more use of the "modulo operator"
(% in some languages).

That's because totatives of N modulo N make very nice little
finite groups, even fields when N is prime.

If you never learned what a totative is, or Euclid's Method for
the GCD, that's because your high school had no Lambda Calc
track to speak of (tsk).

That'd be forgivable pre 1999. :-D

Ever since RSA went into the https protocol's implementation,
i.e. into every browser, there's been every reason to dive in.

 
We can develop all the same sums and products this way,
but we present it in the context of conserved quantities.

I maintain that no natural process yet discovered creates or destroys anything;
it is all rearrangement.

This is sounding very much like physics but remember that whereas
energy is locally conserved, entropy is only para-conserved.

https://www.av8n.com/physics/thermo/

You may have an increase in entropy without violating energy
conservation laws, is another way of saying it.  And yet it's an
important concept, right up there with energy, and it decreases
as well (locally).

My Youtube outlining the Lambda Track has it going into
college S, not M, meaning if you still need calculus you needn't
get it through the grade 13-16 Math Department, you can get
it fresh through Physics. 

That's part of my pep talk on Phys-L. 

Delta calc grew up under physics after all (dp/dt and all that).

Those wanting to learn delta cals as "pure math" likely started
on Delta Calc right after Algebra in 9-12.  That's the conventional
college prep track right now in the USA oday, along with IB (international
baccalaureate) along with Calculus AP and maybe CS AP. 
This was the only option available.

In future, those with less exposure to Delta Calc, having favored
Lambda Calc in 9-12, may prefer to get their calculus through a
different channel once they get to college.  My Youtube encourages
them to expect that.


 
So why should math not accept the same constraints?
It is all rearrangement!

So how does this apply to CS?
If CS is modeling, we model conservative systems.


I don't think implementing the Lambda Track requires any additional
axioms, logic or theory.  We also have a wealth of tools and toys.
We're not waiting for a next computer language (MathPiper is with
us already, as is Wolfram Language etc.).

What it might take is less laziness and less waiting for superman
i.e. some deus ex machina top-down savior to make it all happen?
That ain't gonna happen. 

I don't mean the math teachers are lazy as they're in over-stuffed
classes with no time to think it through, few chances for serious
professional development (what state pays to send its math teachers
to code school?  None of them right?). 

The laziness is among curriculum writers, people more like me
(I have a history in big publishing, McGraw-Hill to be precise).

"Bottom up" is the name of the game.  Portland is free to take action. 
There's no green light we're waiting for from any Federal Triangle...
or Boston / MIT.  Lets "just do it" (referring to boosting our own
code schools, jumping them to the head of the pack -- by making
sure we offer LISP family languages for one thing, and making sure
we have an open door policy towards math teachers for another
-- and the students, many refugees from a backward system).

But then again, the front line may be Southeast Asia in this case (out here
on the Pacific Rim), already largely English-speaking so able to take
full advantage of such as O'Reilly's Safari On-Line (a stash of readings,
not just viewings). 

Code schools in the Philippines (not just Vietnam) could supply
a large number of future faculty.  PSU could send stateside
students to Vietnam for their "boot camp" in ES2017 or whatever,
as many want a junior year abroad as it is.  Two virtual birds with
one stone, eh?  Those changes will percolate back into Portland
over time.  The Pacific Rim economy works that way already.
Japan gets something first, then Portland shortly thereafter.

 
(Remember the old double-entry bookkeeping? For every debit, their must be a matching credit.)
Calculating is rearranging. Math is rearranging.
Let's systematize the axioms for rearranging, and they become the primitives of our coding language.
We can rearrange quantities. We can rearrange sets and symbols. We can rearrange points and lines and areas and volumes.
We can rearrange atoms and molecules. And we can rearrange money in time and pockets.

And thus we can rearrange the curriculum.

Joe Austin



I'm all for doing that.  I don't have any intention of waiting for some
broad consensus to develop however.  A critical mass is all it takes.

Khan Academy is already brick and mortar as well as virtual.  I'm seeing
some of these cyber-schools stepping out of the cloud and starting to
get their hands dirty.  That's a good sign.

Kirby

Joseph Austin

unread,
Apr 20, 2016, 9:12:50 AM4/20/16
to mathf...@googlegroups.com

On Apr 15, 2016, at 12:53 PM, kirby urner <kirby...@gmail.com> wrote:

whether to teach "JavaScript only" as a Turing Complete language

In years past I tried teaching javascript as the first programming course.
My rationale was: since in runs in the browser, it requires no expense on the part of the student,
(this was before Microsoft was giving away basic versions of Visual Basic and C++)
so can be run by the student on his/her own computer in the dorm, or back at home.

The language itself was quite capable for "first course" examples, plus it could be used in conjunction with HTML to create webpages.

But the problem was, at that time (early 2000's) there was no good IDE and debugging was nearly impossible
(no syntax error messages, need to imbed Print statements in code to trace, basically 1960's methods.)

Of course it's changed somewhat since them. I'm curious what systems you are using to teach javascript today.

Joe Austin

Joseph Austin

unread,
Apr 20, 2016, 10:53:19 AM4/20/16
to mathf...@googlegroups.com

On Apr 17, 2016, at 7:40 PM, kirby urner <kirby...@gmail.com> wrote:

If you wait for the new kids to grow up that's too much waiting.  
I'm working with the crop of adults already here.

I't not "either/or" but "both/and".  
I'm saying, "don't wait for the math establishment to accept CS."
I think you are saying the same thing.

I'm flanking. You are over-flying and infiltrating.
And let's not give up on the frontal assault either.

I think there are two parts to the battle:
1. Accept the use of technology for doing "math".
2. Expand and clean up and the theoretical foundations of "algorithmic math" that have become relevant because of available technology.

I need to take another look at your "lambda track".

Joe Austin


kirby urner

unread,
Apr 20, 2016, 12:45:33 PM4/20/16
to mathf...@googlegroups.com


On Tue, Apr 19, 2016 at 4:01 PM, Joseph Austin <drtec...@gmail.com> wrote:

<< SNIP >>
 
Of course it's changed somewhat since them. I'm curious what systems you are using to teach javascript today.

Joe Austin

Good morning Joe --

A JavaScript IDE I've been playing with is depicted here:

https://www.flickr.com/photos/kirbyurner/26542968755/sizes/l/

What I'm showing is an IDE in my FireFox browser, served from the cloud. 
A similar setup could be configured locally, though also with a server
running on some port as localhost.

The text editor (customizable), as depicted above, contains a short
JavaScript program defining an algorithm for adding quadrays (see [1])
and occupies much of the screen, with a bash shell beneath and
file tree navigator to the left.

You'll see a tab for Debugger on the right.

When I'm ready to test my latest changes in the editor by running
my program, I just save it and then go:

$ node qrays.js

in the bash shell and voila, it either runs or gives me error messages. 

Of course as we all know, just because it runs does not mean it's
bug free.  Some of the harder bugs to catch are the ones that don't
crash the program but simply give wrong outcomes. 

[ Aside:  Pyret (the language) has the interesting feature of allowing
multiple assertions about a function to be coded right into the function
itself, thanks to where: syntax. [2] ]

If I go:

$ node

by itself, I go to a prompt (>) and may enter lines of JavaScript interactively,
for immediate evaluation.  Way cool.  Just like Python.

You may set up just such a sandbox-in-the-cloud for free at:

https://c9.io/?redirect=0

I am fairly new to all this myself.  Like a lot of people, I was not taking JavaScript
very seriously ("toy language") until gurus such as Alan Kay started saying
nice things about it. 

I call this the "heart of gold movement" with Douglas Crockford one of its chief
avatars.[3] 

JavaScript (originally LiveScript) was developed under time pressure (10 days)
and is a mix of both genius and awkwardness. 

The "heart of gold" school teaches a coding style that avoids the bad parts
insofar as that's doable.

JavaScript is also a moving target:  ES3 -> ES2015 -> ES2016 -> etc., with
developers gleefully using transpilers to run out ahead and benefit from new
features even before they get implemented in the native browser engines.

Languages such as TypeScript (Microsoft) let you use tomorrow's features
today (and then some) by then distilling (transpiling) to the target JavaScript
version running in the web browser.

ClojureScript, on the other hand, makes no pretense of being futuristic JavaScript;
it transpiles to JavaScript from something else.  CoffeeScript, Brython... these
likewise compile to JavaScript but the developer experience is with using
something else. [4]

The Angular2 framework (Google) is written in TypeScript. [5]

Nowadays my ideal code school curriculum is looking something like this:

JavaScript --> Functional language(s) --> Python --> JavaScript (enhanced)

i.e. we start and end with JavaScript (a moving target) while picking up a
bigger picture by dabbling in a functional language such as Scala, Clojure,
Racket, Hy, Pyret or one of those. 

Then we learn Python more in earnest, with constant reference to JavaScript
(compare and contrast), which we spiral back to and continue to study. 

We'll keep going around in this circle (spiral), getting students off to a strong
start.

In addition to adding ES6 features, TypeScript allows static typing to mix
with JavaScript's dynamic typing model


kirby urner

unread,
Apr 20, 2016, 2:21:17 PM4/20/16
to mathf...@googlegroups.com
On Wed, Apr 20, 2016 at 7:53 AM, Joseph Austin <drtec...@gmail.com> wrote:

On Apr 17, 2016, at 7:40 PM, kirby urner <kirby...@gmail.com> wrote:

If you wait for the new kids to grow up that's too much waiting.  
I'm working with the crop of adults already here.

I't not "either/or" but "both/and".  
I'm saying, "don't wait for the math establishment to accept CS."
I think you are saying the same thing.


Good morning Joe --

You should think of me as a role model high school math teacher
(and I have done that job full time, in a traditional brick and mortar
school) who fully embraces what some people call CS but what
I see as just more math.

I am eager to share my knowledge with my peers and wish they
could free themselves from only grunt duty on the front lines, and
join me in writing curriculum, for pay. 

We need schools that let us do both:  share content, mentor, and
also develop content, in cahoots with students, as another way
of sharing it.

Schools that do not stock their own servers with place-based
curriculum goodies and instead depend on taxpayers wanting to
want to buy truck loads of heavy wood pulp (aka "textbooks") from
far away, are sadly falling behind. 

The better schools source their own curriculum e.g. the math
teachers at Phillips in Andover not only use 'Mathematics for
the Digital Age', they also wrote it. [1]



 
I'm flanking. You are over-flying and infiltrating.
And let's not give up on the frontal assault either.



I'm also doing outreach / advertising to the students saying
"hey, don't give up hope!"

Refugee students come to our code school meetups, because
they want to learn to code and their high school math teachers
refuse to teach them.

 
I think there are two parts to the battle:
1. Accept the use of technology for doing "math".


This step was taken a long time ago with the scientific calculator,
then we got stuck as there was no "one way to do it" going forward,
only multiple technologies. 

With so many "forks on the road" it seemed safer to stick with
calculators.  Now all those calculator-based math curricula seem
hopelessly out of date (because they are).

 
2. Expand and clean up and the theoretical foundations of "algorithmic math" that have become relevant because of available technology.


For Wolfram Language to exist, a lot of work had to go into making
1800s-1900s math notations etc. more precise.  We know from context
that f(x) probably means "do f to x" i.e. f is a function.  But if f and x
were both numbers, f(x) would mean (f)(x) i.e. f * x or f times x. 
A MathPiper-style CAS needs to disambiguate this expression.

So "cleaning up" in one sense is ongoing:  making machine-executable
notations (Mx) compatible with humans-only notations (Hx). 

We have machine-only code too i.e. pretty much unreadable by
executable (binary code).  (Hx + Mx) is the synergy we're experiencing,
in these newer kinds of math language (L).

Mx <---- L ----> Hx

Fig 1: a spectrum, with L (a language) moving along the scale. 

Given the advantages of machine execution, humans-only is not
an "ideal".  We might call humans-only notations "speculative" in
that it's left to the imagination (literally) how to interpret them. 
Machine-executable means "relatively concrete" i.e.:

Concrete <----- L -----> Speculative

Fig 2:  another view

is another way to show the same spectrum.  A new language is
typically born at the Speculative end and then some languages
develop further in the direction of the Concrete.  APL (A Pro-
gramming Language by Kenneth Iverson) is a classic example.


I need to take another look at your "lambda track".

Joe Austin


The "lambda track" is about replacing the "non-college / vocational"
track, which has come to mean "not calculus", with a new kind of
math, taught by a new kind of math teacher.

One might still follow this new track into an IT role straight out of
high school so yes, it's kind of vocational in flavor, more like a
code school, but not necessarily because one is avoiding college
level content. 

Many IT companies like to train in-house.  Many forks in the road
come after high school.  College is one road ahead, but may not
be affordable.  Dead end loans may not be the answer.

Like a lot of STEM-savvy adults, I want to provide a strong
alternative to the high school delta calc track (i.e. differential
and integral calculus track, ala Cauchy, Leibniz, Newton and
Weierstrass etc.). 

Said delta track was was my bread and butter at St. Dominic
(Jersey City, NJ).  I was myself plenty good at that stuff, for the
role I was playing.  I'd placed into the honors version in my
freshman year at Princeton (Thurston, the topologist, was my
delta calc professor).

This strong alternative (which I label "lambda calc" to distinguish it
from "delta calc") is much stronger and more work-relevant than
the currently uber-weak CS AP stuff; it's much more like IB (like
we still have lots of vectors and rotation matrices, lots of spatial
geometry).

Some business intelligence (BI) shops and think tanks may counter
that this "lambda calc" is just "CS in disguise" and they're welcome
to that rhetoric. 

However, I say it's a new kind of math, and I sometimes brand it
GNU Math (a pun) in honor of the free and open source tools that
make it affordable to everyone.

If you focus on lambda calc through high school, starting from algebra,
at the cost of less delta calculus, then you still have many STEM
tracks ahead of you -- including the very same delta calculus! 

However in my little video [2], you might be getting your college level
delta calc not from the college math faculty, but from its physics
faculty instead.  That's if you go to college.

The latter design (taking the lambda track more to S than to M in
STEM) is strategic. 

A lot of the resistance to a lambda track alternative is coming from
entrenched college level delta calc faculties who count on that
steady stream of college freshman all hell-bent on taking calculus
because it's "the gateway to STEM". 

They're sitting pretty as a complacent monopoly, and have been
for at least three generations. 

If you don't get over "calculus mountain", you're likely to be walled
out of STEM.  It's abused as a filter. like a dam that does significant
damage to the fish economy in the name of selling megawatts to
faraway cities.  Who does the environmental impact statement?
Why the dam builders of course. [3]

The entrenched monopolists tell the NCTM and the rank and file
math teachers that "math and CS are different" but that "we'll
never have enough CS teachers" etc. i.e. they preach a gospel
of hopelessness.  They attempt to rig the system to make sure
no competition is really viable.

We need a workaround.  Physics teachers to the rescue (an ally). 

The physics brand of calc is more grounded in reality and is the
more the flavor of calc many STEM careers need.  That also
means it's more concrete and likely to require Mx not just Hx
notations.

If you want the "pure math approach" to real analysis, you're
welcome to go that route but lets keep that a free choice shall we? 

Not everyone who goes into STEM is signing up to become
immersed in "pure math" whatever that is (the English fixation
on "purity" as entirely positive, is one of those "foot guns" I was
talking about, a hidden bug in the English language). 

The negative form of "purity" is "inbred" as in "over-specialized"
as in "narrow to the point of blind to other specializations" and/or
"immersed in a private language".  As a rule of thumb, STEM is
about countering such "purity" with something more wholesome.




kirby urner

unread,
Apr 20, 2016, 2:34:10 PM4/20/16
to mathf...@googlegroups.com
We have machine-only code too i.e. pretty much unreadable by
executable (binary code).  (Hx + Mx) is the synergy we're experiencing,
in these newer kinds of math language (L).

Mx <---- L ----> Hx

I should reword that huh:

"We have machine-only code too i.e. pretty much unreadable by humans,
e.g. executable binary code."

But not only binary code is unreadable.  Stuff transpiled into JavaScript
and "minified" is meant for the browser engine, not for a human
end-reader.  Readable source code may go to less readable source
code thanks to machine processing.

Kirby




Joseph Austin

unread,
Apr 20, 2016, 9:47:34 PM4/20/16
to mathf...@googlegroups.com

On Apr 15, 2016, at 2:47 PM, kirby urner <kirby...@gmail.com> wrote:

 any "just one language is enough for me" approach is bankrupt from the get go.

I guess that depends what you want to teach.

The Turing machine and lambda calculus (LISP) are each thought to be capable of expressing any "computable function."
Most "practical" languages are not so rich.

So are we trying to teach "math" (M) or "technology (T)?  Or I suppose some would advocate for Engineering (E) as in "software engineering".

I've believed that traditional blackboard decimal arithmetic could be taught more rigorously and informatively using a 2-D Turing machine operating on binary digits. Instead, we try to explain arithmetic algorithms in words and "watch how I do it."

Since you proposed the "Lambda" track, I assumed you would be happy with LISP, Scheme, or one of it's successors.

But if one really just wants to teach "Technology", I'd lobby for adding T and E to the curriculum instead of trying to force-fit it into "M".

I don't think it's necessary to teach "everything"  in school. Teach the fundamental concepts in a language designed for learning,
(that is, a language system that allows easy experimentation and provides lots of debugging assistance)
then invite the students to explore other concepts on their own.
The internet is full of tutorials for just about any practical algorithm or language.

If you are teaching it as "math", then focus on the fundamental primitives (axioms) 
and techniques for building more complex functions (theorems) from the primitives.

Try "building" an arithmetic expression evaluator or relational algebra search function.

Joe



kirby urner

unread,
Apr 20, 2016, 10:51:33 PM4/20/16
to mathf...@googlegroups.com
On Wed, Apr 20, 2016 at 6:47 PM, Joseph Austin <drtec...@gmail.com> wrote:

On Apr 15, 2016, at 2:47 PM, kirby urner <kirby...@gmail.com> wrote:

 any "just one language is enough for me" approach is bankrupt from the get go.

I guess that depends what you want to teach.


I want students to develop antibodies against overspecialization.

 
The Turing machine and lambda calculus (LISP) are each thought to be capable of expressing any "computable function."
Most "practical" languages are not so rich.


They're rich in being practical.  No serious work is done with a theoretical Turing Machine, other than practice formalizations.

 
So are we trying to teach "math" (M) or "technology (T)?  Or I suppose some would advocate for Engineering (E) as in "software engineering".


I see opportunities for organic growth in taking the existing high school level math topics and:

(A) leaving the existing college prep track (delta calc) as it is, so people used to the old ways don't feel the rug is being snatched from under them

(B) pioneering a new track that is also prep for college level topics, yet includes a lot of 21st century topics such as public key encryption, for which we'll be needing (i) Euler's extended method (ii) Fermat's Little Theorem (iii) Euler's generalization thereof.

You'll know you're on the lambda calc track when they start teaching Euclid's Method for the GCD, totatives and totients, showing a Cayley table of totatives of N multiplying modulo N.  Really easy stuff.  Just need the right kind of math teacher.


 
I've believed that traditional blackboard decimal arithmetic could be taught more rigorously and informatively using a 2-D Turing machine operating on binary digits. Instead, we try to explain arithmetic algorithms in words and "watch how I do it."


I believe in spiraling.  We don't cover a topic and then say we're done with it forever.

I recommend bringing back number bases along the new lambda track.  The common core is always suggesting we teach the base 10 algorithm of this or that, but never suggests we share what "base 10" means.

The common core sets a very low bar.


 
Since you proposed the "Lambda" track, I assumed you would be happy with LISP, Scheme, or one of it's successors.


Yes, I'm encouraging dabbling in those.

In the code school context I'm going JavaScript -> Lambda Language -> Python -> back to JavaScript (a spiral).

Python has lambda too, just it's not meant to do a lot.  If you not a long and complicated function, best to give it a name as you'll likely need it again.

 
But if one really just wants to teach "Technology", I'd lobby for adding T and E to the curriculum instead of trying to force-fit it into "M".


We already have physics and chemistry, biology and health....  I'm looking for opportunities to grow the curriculum organically.

High school teachers complain they don't get no respect (like Rodney Dangerfield) and they're correct, and a lot of it has to do with their being turned into mere conduits for top-down big publisher textbooks.

Instead I'm suggesting we turn the math teachers loose on this huge stash of free toys (and Excel if affordable) and discover new ways of putting the puzzle together.

If we want for the entrench delta calculus crowd to make it happen, it never will.

 
I don't think it's necessary to teach "everything"  in school. Teach the fundamental concepts in a language designed for learning,


... or in any language suitable for learning (e.g. Python). 

I don't insist Ls (the Mx + Hx languages used) be designed as a "teaching languages". 

I only insist that it has a high learnability quotient.  Creative curriculum design makes a big difference in that regard.

One characteristic of a learnable language is they come with a REPL, a way to engage the language "conversationally" (student enters expression for immediate evaluation).

C/C++ with compile and linking steps, come later.


 
(that is, a language system that allows easy experimentation and provides lots of debugging assistance)

Exactly.  Having a REPL is key.  Clojure has one.  JavaScript too, thanks to Node.
 
then invite the students to explore other concepts on their own.

Yes.
 
The internet is full of tutorials for just about any practical algorithm or language.



Students need a secure personal workspace where they might study without interruptions.  Privileged kids have their own bedroom at home.  Some kids don't have that.  Just having a locker, and crowded classrooms, is not at all conducive to learning.

 
If you are teaching it as "math", then focus on the fundamental primitives (axioms) 
and techniques for building more complex functions (theorems) from the primitives.


Group Theory is as good model of a branch with axioms + definitions and theorems.

The order of the subgroups evenly divide the order of the group.  Stuff like that.

RSA actually uses modulo arithmetic.  Encryption is raising the plaintext to a power (after chunking it into hexadecimal segments).  Decryption is raising it even more, modulo some public key, by just enough to bring it around its orbit back to where it started.  "Just enough" is the secret key d.

 
Try "building" an arithmetic expression evaluator or relational algebra search function.

Joe



We need lots of spatial geometry.  Vectors.  Segments.  Polyhedrons, rotating around axes.

Students expect that from computers.  If we're going to program them, we want the rewards of significant eye candy e.g. Mandelbrot Sets just for starters.

e * i * tau = 1 puts us on the complex plane, where we need to be for Mandelbrot explorations.

Here's a brief lambda track outline, off the top of my head:

Abstract Algebra
    Sets (use Mx with set built in)
    Group, Field, Ring (hands on intro)
    Finite Groups (of totatives of N, cayley tables)
       Permutations
       Cyclic Notation
    Axioms and Theorems (preview of Sylow's)

Vector Algebra
    XYZ Coordinate System (again)
    Vector Operations
    ...and now for something completely different:
         Quadrays (seeing in a new way)
    Crystallography 101 (like to Science curriculum)

Spinning Polyhedrons and Symmetry Groups
    Volume and Tetravolume
    Nested Hierarchy of Polys (American Literature link)
    Euler's V + F == E + 2
    Geodesic Spheres
   
Cellular Automata
   Game of Life (Conway)
   New Kind of Science (Wolfram)
   Life on a Hexapent  (Civilization++)

Global Data Displays (GIS / GPS)
   Lat / Long
   Date / Time
   Astronomy 101 (link to Science curriculum)

Cryptography
    Encrypting with Permutations
    Fermat's Little Theorem
    Euler's Theorem
    RSA

All along, they're building programming skills.

Kirby

kirby urner

unread,
Apr 20, 2016, 11:02:26 PM4/20/16
to mathf...@googlegroups.com
On Wed, Apr 20, 2016 at 7:51 PM, kirby urner <kirby...@gmail.com> wrote:

 
Python has lambda too, just it's not meant to do a lot.  If you not a long and complicated function, best to give it a name as you'll likely need it again.


"If you've got a long and...." I should have said.

Here's a look at Python's lambda, used interactively in the REPL (this one numbers inputs and outputs):

In[15]: outcome = list ( map (lambda x: x * x, [1, 2, 3, 4, 5]))
In[16]: outcome
Out[16]: [1, 4, 9, 16, 25]

In[17]: outcome = list ( map (lambda x: x * x * x, [1, 2, 3, 4, 5]))

In[18]: outcome
Out[18]: [1, 8, 27, 64, 125]

You can always name your anonymous function (different style REPL):

>>> f = lamba x:  x * x

>>> f(10)
100

Ted Kosan

unread,
Apr 21, 2016, 1:31:18 AM4/21/16
to mathf...@googlegroups.com
Joe wrote:

> If you are teaching it as "math", then focus on the fundamental primitives
> (axioms) and techniques for building more complex functions (theorems) from the
> primitives.

I agree with this approach. Here is one reason why I think this
approach is the one we should work on first.

Looking at the mathematical subject classification tree that Andrius
submitted, it should be easy for most people to see that the root of
the tree is mathematical logic:

http://www.ms.lt/derlius/MatematikosSakosDidelis.png

Since all the parts of this tree rest on a foundation of mathematical
logic, none of these parts can be fully understood without first
understanding mathematical logic.

Why don't most math teachers have a good understanding of the
foundations of mathematics? The explanation is provided in this
article:

http://www.math.vt.edu/people/quinn/education/revolution.pdf

Here are some passages from the article:

"The physical sciences all went through `revolutions': wrenching
transitions in which methods changed radically and became much more
powerful. It is not widely realized, but there was a similar
transition in mathematics between about 1890 and 1930.
[...]
The mathematical event was different from those in science, however.
In science, most of the older material was wrong and discarded, while
old mathematics needed precision upgrades but was mostly correct. The
sciences were completely transformed while mathematics split, with the
core changing profoundly but many applied areas, and mathematical
science outside the core, relatively unchanged. The strangest
difference is that the scientific revolutions were highly visible,
while the significance of the mathematical event is essentially
unrecognized.
[...]
The breakthrough was development of a system of rules and procedures
that really worked, in the sense that if they are followed very
carefully then arguments without rule violations give completely
reliable conclusions.
[...]
Strangely, mathematicians are also unaware that their field changed so
profoundly. Newcomers found philosophical arguments incomprehensible
and irrelevant, and philosophy went from a respectable pursuit to an
object of ridicule and evidence of senility in just a few decades. But
this replaced bad understanding with no understanding at all.
Mathematicians have joined fish and birds in doing something very well
without any idea how!
[...]
The main point of this article is not that a revolution occurred, but
that there are penalties for not being aware of it. First, pre-college
mathematics education is still based on nineteenth century
methodology, and it seems to me that we will not get satisfactory
outcomes until this changes."



> Try "building" an arithmetic expression evaluator

What would be fun is to have the programmers in this group submit
arithmetic expression evaluators which are implemented in their
favorite programming language. The goal of this exercise could be to
see if we can create implementations that are clear enough that high
school students could understand them without too much difficulty.

Ted

Joseph Austin

unread,
Apr 21, 2016, 9:21:00 AM4/21/16
to mathf...@googlegroups.com
Good Morning, Kirby,

The Lambda track looks ambitious!
Are you envisioning a 4-year curriculum, a one-semester course, or somewhere in between? 

Great list of topics, but can we put them into a pedagogical sequence, 
starting each with appropriate motivation?

Pursuing my suggestion that "math" is "modeling",
I'd think we would want a "real" system as the prototype for each of these areas,
and if it's a HS level class, a system that would be relevant to adolescents as well as adults.

For example, I was reading Boole on what we now call Boolean Algebra,  and he took an approach more motivational than the typical textbook.
(I think it was a chapter in Hawking's God Created the Integers.)

At the end of the course, I would like the student to come away with the idea that
"axiomatic, algorithmic modeling" can be applied to a variety of real-world situations.
That in fact, we can "invent our own" math system as the occasion requires.
(That's how the math we have came to be!)

"Math" is like a bucket of Lego bricks. A few dozen "bricks" can handle most of the "bread and butter" problems,
but occasionally it's OK to use, or even invent, a "special" brick for a unique application,
as long as it fits together with the others.

BTW, I'm a great fan of the Logo Turtle and it's extension to Star-Logo. I'd put that in somewhere.

Joe

Joseph Austin

unread,
Apr 21, 2016, 9:35:22 AM4/21/16
to mathf...@googlegroups.com
I need to go back and read the Boole paper again (in Hawking's God Created the Integers.)
As I recall he developed boolean algebra based on logic.

Joe

Joseph Austin

unread,
Apr 21, 2016, 9:36:12 AM4/21/16
to mathf...@googlegroups.com
Lambda calculus comes into it's own with recursion, and recursively-defined structures.  
And I understand Python can do recursion.
But it's more about a way of thinking than a way of coding.

kirby urner

unread,
Apr 21, 2016, 11:00:51 AM4/21/16
to mathf...@googlegroups.com
On Thu, Apr 21, 2016 at 6:20 AM, Joseph Austin <drtec...@gmail.com> wrote:
Good Morning, Kirby,

The Lambda track looks ambitious!
Are you envisioning a 4-year curriculum, a one-semester course, or somewhere in between? 


Remember I'm leaving it to the individual math teaching faculties and their networks of peer group affiliations to come up with a lambda track on a per-school basis. 

If they wait for a next big textbook for this "lambda calc" track, they'll surely be left behind.  But who has time for curriculum development?  That's an alien concept in many schools.

The NCTM has already given a green light to this track in its rhetoric, or at least one may read between the lines in that way, as I was remarking in an earlier thread. 

The "establishment" has already conceded.  We have a free hand, a green light.

I am not seeking a "national standard" (we have the common core, a very low bar), only to reach a larger community willing to use some of the same vocabulary.  I'm networking. 

I'm not trying to assemble a standards committee.

Consider Oregon:

Our students are required to take a minimum of three years of math to get a high school diploma. 

Lets say in 9th grade they take a year of Algebra mixed with Geometry (they go together, especially when plotting points and curves), then two more years to go.

Per my video, Algebra is a switch (A in a circle), a train station where the two tracks diverge, the two tracks being lambda calc and delta calc, each symbolized by the respective Greek letter.

You may choose the traditional pre-calculus track, which itself forks into International Baccalaureate in some of the better US schools, including public ones.  My daughter did IB math, without doing "full IB" for the certificate. 

Then there's AP CS, poorly integrated with anything else.

If a student is lucky, the school offers the newer lambda calc track and it's feasible to get two more years of math credit taking courses long that track. 

Without using quite the same terminology, this was a goal of the Software Association of Oregon (SAO) some years back. 

We succeeded.  The legislature has no objections. 

But our teachers have no time to prepare.  Their need for serious professional development is not respected, nor their role in developing curriculum.  That's an issue in a lot of states.

Some schools have had stats (statistics) and trig (trigonometry) broken out as separate semester courses. 

The idea of "math electives for credit" even at the high school level is not new. 

It's just that now we can use computer programming as more of a unifying skill and develop that skill more methodically over at least two years.

If a high school is not teaching computer programming, it is deserving of pity.  The US as a whole is a very pitiful place in my book, when it comes to its political system and education systems. 

That's because it spends everything it has on "defense" and "national security", at the cost of creating a very insecure planet.  Very cowardly.


Great list of topics, but can we put them into a pedagogical sequence, 
starting each with appropriate motivation?

I'm leaving that to the individual faculties, not posing as a top-down imposer.

Coming from the bottom up, I'm including some things 99.9% of math teachers would not consider including, such as tetravolumes and quadrays, but that's because I was the first webmaster for BFI.org and friends with RBF, EJA etc. i.e. I come from my own subculture.  All math is ethno-math.

My outline showed a link to American Literature.  If you don't know about tetravolumes, you're really quite ignorant of American Transcendentalism post Emerson and Thoreau.  Where did that movement go after that?  Who were the transcendentalists of the late 20th Century.  Many Americans are clueless about their own history.

 

Pursuing my suggestion that "math" is "modeling",
I'd think we would want a "real" system as the prototype for each of these areas,
and if it's a HS level class, a system that would be relevant to adolescents as well as adults.



Here's where I'm going with modeling:  I'm inspired by that book 'The Little Prince' [1] and other sources to think of entire spherical planets as the logical game board.  These do not have to be Earth.  They may be conceptual.  However, I find the geographic dimension to be a useful metaphor in almost all cases.

So a student might play a SimCity like game on a whole planet.  Power in the sense of energy harvesting and energy grids will be a feature.  Infrastructure is seen to have a spherical dimension.  Goal:  to get away from parochial less-than-whole-planet thinking. Think globally act locally and all that.

We'll be looking at the geometry of the sphere along the lambda calc track (in my school).  Hexapents are important. [2]
 

For example, I was reading Boole on what we now call Boolean Algebra,  and he took an approach more motivational than the typical textbook.
(I think it was a chapter in Hawking's God Created the Integers.)

At the end of the course, I would like the student to come away with the idea that
"axiomatic, algorithmic modeling" can be applied to a variety of real-world situations.
That in fact, we can "invent our own" math system as the occasion requires.
(That's how the math we have came to be!)


I don't think mathematics is entirely a theorems-from-axioms enterprise.  The formalization phase often comes in the wake of the serious pioneering, as a form of housekeeping, a way of making everything neat and clean.  The forefront (front line) is often a lot messier than the theorems-from-axioms model would lead us to believe.

That being said, I'm all for studying a few theorems-from-axioms systems.

Boolean Logic, logic gates, Ternary Logic, Quantum Logic.... great to introduce these things.  We're sparking interest and curiosity at this level, more than going for exhaustive PhD level treatment of topics. 

A major goal is to have students learn how to learn such that they have confidence going forward that they'll be able to pick up tool after tool after tool and master them over time.

We need to help them break out of the 1900s model that life is in three phases:  (A) education (B) workplace (C) retirement. 

That model has broken down, is even what we call an anti-pattern today (a model that costs way too much to get stuck in, costs outweigh benefits and yada yada). 

Life is much more work / study all the way through.  There's no such thing as "having all the education one needs".  That never happens.



 

"Math" is like a bucket of Lego bricks. A few dozen "bricks" can handle most of the "bread and butter" problems,
but occasionally it's OK to use, or even invent, a "special" brick for a unique application,
as long as it fits together with the others.


Math is also a group process, like open source software development.  We will often work together and students helping one another, teaching one another, is the norm, not the exception.

 

BTW, I'm a great fan of the Logo Turtle and it's extension to Star-Logo. I'd put that in somewhere.

Joe


Yes.

Remember though, we have K-8 prior to 9-12 in my model so a lot of playing with logic gates ala Rocky's Boots (roll forward to MineCraft etc.), playing with Turtles and so on, is already in the rear view mirror for a lot of kids.

I tend to replace the Turtle with a Tractor and have it plow the "field" much as a raster beam scans a CRT, with the ability to "plant an RGB value" at each pixel.  Scan lines.

I have such posters as "Math is an Outdoor Sport". 

Learning the city bus system might be part of a school's place based curriculum. 

Using a GPS device to do geo-caching type exercises might also be part of it.

Learning to use the school-issued smartphones might be part of it.

The idea that "doing math" is purely sedentary "chair work" is a cultural thing and I'm interested in exploding it for my students. 

In learning about concurrency, parallel processing, scripting large projects, we're going to need to cook as a group in an industrially equipped kitchen.  Routinely.  But that's just my school.  YMMV.

Given I am not currently a high school math teacher (I used to be) and am instead working with adults in a code school setting, I'm actually applying a lot of the above with the thinking that "high school level" and "high school aged" are conceptually separable. 

We tackle "high school level" and "college level" topics, even with students in the 21-49 year old age range (the bulk of them).

https://flic.kr/p/GijmD8

I have this notion that code schools could double as professional development venues for Oregon's math teachers, but that's taking awhile to implement.  We first need to spread the code schools a lot more.  I've been proposing a van or bus (mobile code school), some kind of "business mobile" to take PDX Code Guild (<guild />) on the road.  I ran that idea by Juan awhile ago.

Kirby

[1]  The Little Prince
https://flic.kr/p/FWNfS7

Joseph Austin

unread,
Apr 23, 2016, 9:28:45 PM4/23/16
to mathf...@googlegroups.com

On Apr 21, 2016, at 11:00 AM, kirby urner <kirby...@gmail.com> wrote:

We need to help them break out of the 1900s model that life is in three phases:  (A) education (B) workplace (C) retirement.  

Hear! Hear!

We used to have an apprenticeship approach: OnTheJob education: A=B.
I think we need to get back to that.
But the idea of a one-skill career is doomed by the pace of innovation.

So a practical alternative is parallel tracks: half-day in school, half-day on the job. Forever. A+B
Or more practically, week by week, or alternate terms.
[My brother had a job with a oil company out-of-country where he alternated with another man on 30-day shifts.]

Kids need to get in the workplace earlier, say high school age at least. 
(They do anyway--how many HS kids have 'part-time" jobs?  How many college students are "working" their way thru--
BTW, most of the "scholarship" athletes are--just try asking coach to excuse Johnny from a game because you have a test that day!)

I've advocated that no student should be admitted to college who hasn't been self-supporting for a year.
That way, they will know why they are there!

Joe






Joseph Austin

unread,
Apr 23, 2016, 10:46:52 PM4/23/16
to mathf...@googlegroups.com
On Apr 21, 2016, at 11:00 AM, kirby urner <kirby...@gmail.com> wrote:

It's just that now we can use computer programming as more of a unifying skill and develop that skill more methodically over at least two years.

Kirby,

The advantage of the computer is that it makes practical the execution of long and intricate algorithms, 
making it possible to model the macroscopic effect of the global interactions of microscopic activities.
The "principles" of computation appear to be the same as, or at least include, the principles of mathematics, namely, 
deriving structures of symbols (theorems) by the selective application of rules of allowed symbolic manipulation (axioms).
That all this has any meaning is the happy coincidence (?) that states of nature can be matched with symbol structures and behavior of nature can be matched with rules of manipulation.

So "science" consists of discovering natural structures and natural processes and "mathematics" consists of matching these to symbolic systems that can model the behavior of "real" systems.  And again, the computer comes in when the models thus envisioned are too massive to be worked out by hand.

In my classes, I would tell students that "programming" is a life-skill: it is the skill of following and giving instructions.
In computer class, we give instructions to a machine, which (unlike most people) will do exactly what we tell it to do.
(Even if what you said wasn't what you meant, or if what you meant wouldn't have the result you intended.)
(So I also cautioned that this would teach them humility:  you will learn that, even if you were king of the universe, and everyone did exactly what you told them to do, you would still screw it up!)
But in any case, the computer is a much more demanding servant that most people, who will apply common sense to make up for your inadequate instructions.  So learning programming, like learning math, disciplines one to become careful and exacting.

I've never been a fan of "science-fiction" and super-heroes.  The reason is, there are no "rules".  
You never know the limitations of what is possible, so you can never fully appreciate the "danger" of a given situation.

It's the same with learning "math" or "computing" separate from the context of a "real" problem.
What's the point of proving this theorem?  What's the point of computing this function?
(In calculus we proved Green's Theorem and Stoke's Theorem,
which meant nothing to me until I encountered the concepts in Maxwell's Equations of the Electromagnetic Field.)

So, computing can be unifying, IF we begin to think of the world in terms of state transformations (conservative transformations in particular).
And begin to think of "computing" as modeling the state transformations of real things.
Then, the more diversity of reality we can map into similar state-structures, the more "unifying" it actually becomes.
We will begin to organize disparate phenomena into "groups"--mathematical groups, with states and transitions and cycles!

We will begin to "quantify" and perhaps "quantize" and discover the physical "laws" that give rise to  conserved sums or conserved products or power laws or exponential growth  or probability distributions or eigenvalues.

I was in grad school during the rise of "structured programming", which reduced algorithms to four basic patterns:
sequence, selection, repetition, and abstraction.
Then came the relational data model, the object-oriented perspective, and event-driven programming.
But on balance, computing, like math, has at its base just a few fundamental concepts.
But unbounded combinations and applications of those concepts.

Learning the concepts per se is not particularly difficult or time consuming.
The challenge is developing a facility for applying them to significant real-world situations.

I was able to learn FORTRAN in a week because I already understood algebra and subscripts and induction.
I suspect someone could as well learn MATH in a week if one had already been exposed to coding of non-numerical symbolic applications.

Joe










Peter Farrell

unread,
Apr 24, 2016, 12:31:13 AM4/24/16
to MathFuture
Brilliant ideas, Joe and Kirby!

kirby urner

unread,
Apr 24, 2016, 8:19:06 PM4/24/16
to mathf...@googlegroups.com
On Sat, Apr 23, 2016 at 7:46 PM, Joseph Austin <drtec...@gmail.com> wrote:

On Apr 21, 2016, at 11:00 AM, kirby urner <kirby...@gmail.com> wrote:

It's just that now we can use computer programming as more of a unifying skill and develop that skill more methodically over at least two years.

Kirby,

The advantage of the computer is that it makes practical the execution of long and intricate algorithms, 
making it possible to model the macroscopic effect of the global interactions of microscopic activities.



Yes, and macroscopic effects may in turn become part of
a feedback loop that changes microscopic behaviors.

Small things have aggregate effects that then impact
the small things and how they act.

Act locally (what choice have you?); think globally (in
wholes, not just parts).


I've never been a fan of "science-fiction" and super-heroes.  The reason is, there are no "rules".  
You never know the limitations of what is possible, so you can never fully appreciate the "danger" of a given situation.

True, but any thinking about the future whatsoever
will of necessity involve speculative content, which
one could label "fiction" since it certainly isn't "fact".

The ratio of well-understood science to speculative
material puts works of science fiction in a spectrum.
Scifi which assumes no new science beyond what
we have today is sometimes called "near future"
science fiction. 

Sometimes the story is even set in the past, if it's
in the "parallel universe" genre (how it "could
have been, if..." a subjunctive reality).

I recently read Kindred by Olivia Butler, an award
winning science fiction writer.  That plot there
hinges on an unexplained phenomenon (involuntary
time travel) so we can study a modern Bay Area
intellectual black woman's adventures in the
antebellum (i.e. pre Civil War) US south.

In another book, the time travel is intentional.
Humans have industrialized to early (a sorry
future decides) and a female hero is sent back
to the 1700s to sabotage The Iron Bridge (the
name of the book).  If she can make it fail, the
calculation is hubris and pell-mell industrialization
might be slowed, giving humans more time to
mature mentally before they become their own
worst enemy.

Again, the plot worked to give us an entre to
a kind of historical fiction, one with a central
character enjoying the privileged view of a
much-later-in-time mindset.



So, computing can be unifying, IF we begin to think of the world in terms of state transformations (conservative transformations in particular).

To paraphrase Henry Ford, history is just one damn
state of affairs after another.


And begin to think of "computing" as modeling the state transformations of real things.


Dynamical Systems studies enter here too.  Since the
discover of "Chaos Math" we're less likely to waste time
imagining completely deterministic models that mange
to get us to the future before the future really happens.

To some extent we may do that, but it turns out that
butterfly effects add up to give us wild cards.

Eliminating all surprise from our models, because we'll
know what's going to happen, is mathematically infeasible.
The perfect crystal ball is as impossible as a perpetual
motion machine.  One could say Entropy plays a deciding
role in both cases.




Learning the concepts per se is not particularly difficult or time consuming.
The challenge is developing a facility for applying them to significant real-world situations.

Especially when a spiraling approach is adopted.  We'll
keep coming back to the same concepts from new angles.
We do have the opportunity to develop more perspective
from increasing experience.

I was able to learn FORTRAN in a week because I already understood algebra and subscripts and induction.

I suspect someone could as well learn MATH in a week if one had already been exposed to coding of non-numerical symbolic applications.

Joe


Yes, especially when we acknowledge the boundary around math is
quite fuzzy. 

Is playing games a kind of math, such as the game of chess?  How
about poker?  How about freeze tag?  Does it all depend on context
then?  We might play freeze tag to teach about "blocking calls"
(each runner a process).

Assuming every chess move is "by the rules" (like following axioms)
and a game is then a succession of states (provably legal), with a
known goal (a state called "winning" per each side -- mutually
exclusive or else a tie), it certainly appears to be a mathematical
activity. 

Including chess-playing in math, or not, is a judgement call, reflective
more of one's subculture than some absolute truth about "what is math".
Our meanings are plastic, and our namespaces are ours to shape.

Kirby


kirby urner

unread,
Apr 25, 2016, 4:25:55 PM4/25/16
to mathf...@googlegroups.com
On Wed, Apr 20, 2016 at 7:51 PM, kirby urner <kirby...@gmail.com> wrote:

< ... >
 
Here's a brief lambda track outline, off the top of my head:

Abstract Algebra
    Sets (use Mx with set built in)
    Group, Field, Ring (hands on intro)
    Finite Groups (of totatives of N, cayley tables)
       Permutations
       Cyclic Notation
    Axioms and Theorems (preview of Sylow's)


One "feature" of many math textbooks that I do *not* appreciate
is where theorems are withheld to that point in the curriculum
where a student should ("should") be able to follow the proof
of said theorems.

I really think that's stingy and selfish, to sit on vital results in
exchange for that much commitment to the topic.  On the
contrary, we should freely share theorems as soon as they're
comprehensible as assertions, even if no proof is accessible
at the same level.

Take for example the Prime Number Theorem, that the number
of primes between [n, 2n] approaches n/log(n) as n increases,
where that's log to the base e.  That's an easy assertion to
understand, and to explore empirically using one's developing
computer skills.  Count all the primes between 1000 and 2000
and compare.  Now between 10000 and 20000 and so on.

Proving the PNT is another matter, as is proving many of the
theorems of Number Theory, or any other field.  That doesn't
excuse withholding the result.

9-12 level topics should include many results of front lines
research without any proof necessarily.  Because to comprehend
an assertion is workout in itself, and because making use of
these results in applications should not have to wait for years
of study, which a student may never have time to complete.

Kirby


Joseph Austin

unread,
Apr 25, 2016, 8:38:07 PM4/25/16
to mathf...@googlegroups.com
You are outlining the basic distinction between "theory" and "application."
Of course, at any level we accept certain things as "true" without proof, and build on/with them.

In terms of curriculum, this becomes "bottom up" vs. "top down".
So much of our curriculum is "bottom up",
with requires introducing concepts with no motivation in order to build a "solid foundation".

Could we instead start at the top, and successively "peel back the onion" revealing the next-lower foundation of that immediate layer?

Joe Austin


kirby urner

unread,
Apr 25, 2016, 9:58:21 PM4/25/16
to mathf...@googlegroups.com
On Mon, Apr 25, 2016 at 5:38 PM, Joseph Austin <drtec...@gmail.com> wrote:
You are outlining the basic distinction between "theory" and "application."
Of course, at any level we accept certain things as "true" without proof, and build on/with them.



Right, "true" or simply "accepted", like the rules for moving pieces in chess, and the goal (checkmating one of the kings i.e. "winning").

 
In terms of curriculum, this becomes "bottom up" vs. "top down".
So much of our curriculum is "bottom up", with requires introducing concepts with no motivation in order to build a "solid foundation".


Like today, unlike pre 1990s, every web browser is using public key cryptography to establish an https connection, what we're all moving to over http for anything interactive.

Right beneath the RSA algorithm we come to such as Euler's Theorem.  Just understanding what it asserts, what it establishes, is distinct from proving it.

https://en.wikipedia.org/wiki/Euler's_theorem

The motivation is to understand public key cryptography. 

The foundations are theorems, but in K-12, maybe not the proofs for many of them. 

We'd rather just write programs to confirm what they mean, what they assert. 

Testing veracity, empirically, is not proving, but it is discovering their meaning.  From meaning comes motivation.

For example, that the number of primes between n and 2n is approximately n/log(n) -- that's something we could write a program to check, long before we tried to prove why it's true.


 
Could we instead start at the top, and successively "peel back the onion" revealing the next-lower foundation of that immediate layer?

Joe Austin



I agree we need motivation. 

"Learning how things work" and "learning how to test assertions using a machine executable language" are supposedly two motivating reasons.

Starting with RSA, browser hand-shaking, we peel back the onion to reveal some fancy math.  The first goal is to make that math intelligible.

Q: What's are the totatives of number n (n a Natural number) 
A:  numbers < N that are coprime to n.

Q: What is the totient of N?
A:  the number of totatives of N.

To explore these concepts, we need to a way to compute whether two numbers have a common divisor other than one.  If they do, they're not co-prime, not "strangers".  The smaller could not be a totative of the bigger in that case.

To compute the GCD, we would like to introduce Euclid's Method, and this can be explained, proved, understood.

But in most 9-12 curricula, Euclid's Method nowhere appears.  I consider it a first branching point for our lambda calculus track.

Totatives on N, multiplied modulo N, form a finite group.  In N is prime, they form a field.

Welcome to the lambda calc track.
 
Kirby



Bradford Hansen-Smith

unread,
Apr 25, 2016, 10:45:28 PM4/25/16
to mathf...@googlegroups.com
"bottom up" vs. "top down". They are reciprocal compliments.
I see the issue is whole-to-parts rather than traditional parts-to-whole. This is different than peeling an onion, but does have commonality with starting with the largest possibility and observing the organized associations of relationships as revealed before trying to construct a theory to explain or to invent appropriate application. 
--
Bradford Hansen-Smith
www.wholemovement.com
Reply all
Reply to author
Forward
0 new messages