High school geometry (at least in the US, and in my experience) is the worst of them all! Two-column proofs should be banned.
High school geometry (at least in the US, and in my experience) is the worst of them all! Two-column proofs should be banned.
My personal feeling (as a maths grad student) is that the utility of two column proofs depends on the field. For logic and algorithms sure but estimating integrals it becomes tedious quickly.
[1] http://research.microsoft.com/en-us/um/people/lamport/pubs/p...
Geometry is taught correctly when proofs are used as a tool to convey a deep intuition about a mathematical pattern. Check out Lockhart's book [1] if you want to see what it's like when done right, though there are many more examples. Two-column proofs are simply a tool for the lazy/unknowledgeable teachers to fill a geometry class.
I am aware of Lamport's work, and it's a specific tool for a specific subfield in which there is a plethora of false results. Ignoring the fact that most of theoretical computer science research and most of math research more does not fall into the category that Lamport is critical of (distributed computing), these temporary issues about rigor in academic publishing should have no effect on high school pedagogy. Instead, we should listen to the world's finest math teachers, who pretty much all agree that two-column proofs are awful. A quote from Lockhart [2]:
> Geometry class is by far the most mentally and emotionally destructive component of the entire K-12 mathematics curriculum. Other math courses may hide the beautiful bird, or put it in a cage, but in geometry class it is openly and cruelly tortured. What is happening is the systematic undermining of the student’s intuition. A proof, that is, a mathematical argument, is a work of fiction, a poem. Its goal is to satisfy. A beautiful proof should explain, and it should explain clearly, deeply, and elegantly. A well-written, well-crafted argument should feel like a splash of cool water, and be a beacon of light— it should refresh the spirit and illuminate the mind. And it should be charming. There is nothing charming about what passes for proof in geometry class. Students are presented a rigid and dogmatic format in which their so-called “proofs” are to be conducted— a format as unnecessary and inappropriate as insisting that children who wish to plant a garden refer to their flowers by genus and species.
[1]: http://www.amazon.com/Measurement-Paul-Lockhart/dp/067428438... [2]: https://www.maa.org/external_archive/devlin/LockhartsLament....
Unfortunately, most high school math teachers are undertrained, underpaid, overworked, and pressured to focus on exams. The two-column proof is a crutch. It's not the only awful part of high school math education, nor is it the sole bane of a student's math education (I never said it was). But it is the most egregious example of bad math education.
I had never heard of that monstrosity before and having googled it, it looks worse than programming in COBOL.
Also: it runs on machines that look like Cylons. You can't beat that. :p
To contrast, LOCAL-STORAGE seems like a regular global variable (.DATA/.BSS) segment. So is WORKING-STORAGE basically like a set of seeming global variables, that actually point into (the equivalent of) a shared mmap'ed file, such that other processes in the same session/pgroup end up mmap'ing the same file and thus sharing memory that way, without having to clone around the memory handle itself via forking/threading/IPC?
In this case, it sort of reminds me of the OS-level version of an anonymous Erlang ETS table held by a supervisor and passed to all the worker children to manipulate.
COBOL's type definitions are also patterns really - for instance you declare a field to be of type 9(7) which means a numeric field of length 7 and so on.
The whole setup gives you very fine control over the structure of your data. For example, you can describe lines of a document to be printed out with strongly typed fields to be filled in by your program, so a form basically.
It's also used as a template for documents like VSAM files. Those are flat-file databases and the COBOL program's working storage imposes structure on them.
Here's a small example:
01 FILE-RECORD.
__03 WS-ACCOUNT_____PIC 9(10).
__03 WS-SEPARATOR1__PIC X.
__03 WS-NAME________PIC S(25).
__03 WS-SEPARATOR2__PIC X.
[Underscores are formatting only, not COBOL syntax]
That declares a structure called FILE-RECORD with four named fields, one of numeric type with length 10, one of alphabetic type with length 25 and two of alphanumeric type with length 1. So that's one record in your file structure and you can fill it in with data from VSAM files and the like, then print it out, with the separator fields for formatting.
It's a strange thing, low-level and high-level at the same time, in a very nice way. It kind of grows on you. Well, it's grown on me anyway. Of course, YMMMV.
Btw, the numbers (01, 03) make the hierarchical relation between the root of the data structure and each of its fields explicit; I won't say I'm in love with that sort of syntax :)
Also, I'm a total no0b still, so I might have made some mistake above, apologies in advance if that is the case.
I had those in high school and I hardly see any problem with them. It's just writing the proof neatly organized into a table, with the reasons for each step given.
High school geometry introduces many students to the idea that math is a way of reasoning and this is _very_ different from the boring grind that they were used to.