On Sun, Feb 2, 2014 at 4:46 AM, Robert Hansen <firstname.lastname@example.org> 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 built-in set type, that one continues to use over the years, would come in handy.
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 fast-tracked 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 Anglo-American 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 co-routines.
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.
REPL is the technical name for a prompt-centric 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 mini-language).
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, co-author of Logicomix, a book I like to promote, the story of Bertrand Russell in manga format:
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 POV-Ray 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.