
Re: A question about straight lines
Posted:
Feb 2, 2014 12:59 PM



On Sun, Feb 2, 2014 at 4:46 AM, Robert Hansen <bob@rsccore.com> wrote:
> > That being said though, a 12 year can surely understand sets, subsets, > unions, intersections, etc. Naive set theory. > > Yes. I have no problem with introducing that kind of set theory, even well > before 12. I recall my son having those lessons in 2nd grade, using Venn > diagrams and sets of "things". Unfortunately, I think the curriculums then > drop any mention of it till algebra. But modern curriculums are like that > with everything. Vey little in the way of systematic and continuous > development. > > Bob Hansen >
This is where a computer language with a builtin set type, that one continues to use over the years, would come in handy.
Interactively:
>>> farm1 = {"chicken", "pig", "cow", "horse"} >>> farm2 = {"pig", "emu", "pony", "cow"} >>> farm1 & farm2 {'cow', 'pig'} >>> farm1  farm2 {'horse', 'pony', 'cow', 'pig', 'emu', 'chicken'}
Since sets only allow unique members, no doublelistings, they come in handy as dupe removers:
>>> thelist = ["dupes", "has", "double", "words", "has", "dupes", "double", "words"] >>> thelist = list (set (thelist )) >>> thelist ['double', 'dupes', 'has', 'words']
An early pioneering language for interactively exploring set concepts: ISETL.
http://bit.ly/1eiw2k7
Python's set object API includes: union(), intersection(), difference(), and symmetric_difference(), issubset(), and issuperset().
In a curriculum that introduces sets as one more type of object among many, they might lose some of their mystique and that could be a problem and an explanation for the bottleneck (resistance). Bertrand Russell & Co. were eager to establish math's "foundations" and sets seemed to be the ticket. They had exalted status as foundational.
After Sputnik, when US Americans panicked about the relative quality of their educations, set theory was fasttracked to the forefront on the New Math front, in part because it had the hallmarks of the latest most cutting edge thinking, at least in AngloAmerican circles.
Putting New Math on top of sets, with the notation that goes with 'em, would allow future generations of US American to keep up with those Russians etc.
Fast forward to the 21st century and you have proponents of "Gnu Math" such as myself, also in favor of continuing the set stuff, but not with such emphasis on "foundations" necessarily.
The motivation for having sets hasn't changed much in terms of their being integral to both the concepts and notation of modern math books, but, in addition, the set type has utilitarian value that might be exploited to add more continuity to the curriculum.
Sets are "math objects" (of the set class). They have specific attributes and methods. We teach 'em alongside lists (heterogeneous content), arrays (all elements same type), tuples (immutable lists), dicts (key:value pairs) and more dynamic types such as closures and coroutines.
You could also use Mathematica on a Raspberry Pi for all this. Another interactive prompting environment. Clojure, Scheme, APL, J, Logo... Python, Ruby... all support REPL. Java, C++, C#, C... not so much.
http://en.wikipedia.org/wiki/Read%E2%80%93eval%E2%80%93print_loop(Wikipedia gives a longer list of REPLsupporting languages).
REPL is the technical name for a promptcentric environment and I tend to draw the line with REPL i.e. languages that don't offer it are not on my short list for what to replace the TI calculators with.
Gnu Math is about replacing calculators with free and open source computing devices of a more general purpose nature, such as might be used to practice with SQL (lingua franca for table creation, data storage and retrieval) and Regular Expressions (pattern matching minilanguage).
In our planned discrete math course (a STEM offering), topics such as SQL and Regexps are not verboten. "Computer science is the new mathematics" according to Dr. Christos Papadimitriou, coauthor of Logicomix, a book I like to promote, the story of Bertrand Russell in manga format:
http://mathforum.org/kb/message.jspa?messageID=7067602&tstart=0
REPL means "using it like a calculator" (interactively) is very doable, so you don't lose that experience, plus you get the bigger screen (unless trying to do all this on your smartphone). You can also plot in 3D and rotate the results, given the right tools, such as VPython and/or POVRay and/or VRML etc. All great "hard fun" toys we should let high schoolers gain experience with, for math credit, not just elective CS credit.
Kirby

