On Wed, Feb 26, 2014 at 6:35 PM, Robert Hansen <email@example.com> wrote:
> > On Feb 26, 2014, at 8:56 PM, kirby urner <firstname.lastname@example.org> wrote: > > > Your responses are inconsistent as elsewhere in the thread it was that > programming *could* help with the math-learning, just you hadn't been able > to come up with quite the right language yet. You'd been working on it. > > I said doing the numerical exercises in the book could help. I kept the > programming language simple, developmentally appropriate and to that point. > Teaching math, not programming. It doesn't take much programming to do the > exercises in the book. And the students get a start ing programming. Even > if I was teaching programming I would never start with OOP. There is so > much you need to learn first before OOP. > > Still highly inconsistent as you heap praises on 'Mathematics for the Digital Age...' which introduces OO concepts.
Portions of the book are on-line. Check Chapter 5, page 88, the Fraction class.
Yet when it comes from me, it's a "non-starter" in your estimation.
When it comes from an already-successful textbook used in a college prep high school, it's highly admirable, and yet you reprimand me for representing the same ideas it contains.
No consistency. Your position is all scrambled (indecipherable, a private language).
> > > > You said your new language might be very like Python, but minus the > objects (by which you meant "dot notation"). > > Minus the objects by which I meant OOP. You questioned how we could remove > OOP from Python and I replied "Think "No Dots"" >
The Litvins don't think "no dots".
Section 14.2, also on the web: table.append(nCols*[None])
That's "dot notation" (the table object is having its append method invoked).
But when rich New England kids get it in their pampered high income environment, you empathize. Just don't try teaching this stuff in high dropout rate Oregon, to Latinos.
We should recognize our betters in New England are tomorrow's 1%, and just grin and bear it, eh?
> > > > > I have argued instead, by effective example, that "dot notation" is a > legit math notation used by many ethnicities around the world, including > corporate-global ones who worry about their future peers, and the garbage > "math" educations they're currently getting at the hands of CS-unfriendly > Luddites posing as know-it-alls. > > Your arguments have not been effective. No one buys what you are saying. > There are four possibilities here... >
Many buy what I'm saying, maybe not on this list, but out there in the bigger world, I represent a School of Thought. Get over it.
> > 1. Teach math only, no programming. > 2. Teach math and work through the numerical exercises. > 3. Teach math, SQL, CSS, HTML, OOP, etc. > 4. Teach only programming. >
I notice on 2. you're very careful to not allow "alphanumeric" (vs. "numeric") examples.
Yet what's fun in math-with-programming is to substitute letters for other letters (plus space, another character) in a most primitive kind of cryptography. Map the 26 letters plus space, to that same domain, as a range, then use that mapping to encode and decode sentences.
This mapping is called a "permutation" (a function) and in group theory they may be multiplied and represented in "cyclic notation" (group theory is *all about* permutations, per one of it's famous theorems).
The J language has a single operator for representing a given permutation in cyclic notation. In Python, we have to write it out, a useful exercise.
Note the Litvins get all the way to RSA. With dot notation. But public school kids don't deserve those kinds of courses, is that it? Only the 1% get to understand public key cryptography, by edict of...?
> > No one buys that (3) is realistic or pedagogically sound. I would rather > you do (4) than (3).
What about (2.5) where we teach math and work through the *alphanumeric* exercises, sometimes using dot notation?
That's what the Litvins do, and elsewhere you've said they have a quality product.
At our lobbying / strategizing session, their book got a lot of air play. Oregon might have adopted it widely by now, were it not for the antediluvians and the fact that Chris Brooks got hired a way by WebMD. http://www.linkedin.com/in/chrisbrooks
> Until the students get through algebra, (2) is about as far as you can go.
As I was mentioning earlier, it's fine with me if they've done Geometry and Algebra I already, before they take my CS-enabled courses.
""" So take your Geometry, your Algebra 1, and then take Math for a Digital Job in the Silicon Forest / Cascadia. We should have a whole sequence lined up, with some of it calculus-friendly. We'll help you pump up and get back in shape using a computer language, if you got thrown off the calculus bandwagon, as so many are. """ http://mathforum.org/kb/message.jspa?messageID=9395704
At least I'm consistent.
> And wipe away your tears. There is a lot you can do with (2) and a clean > basic language. A hell of a lot. OOP is better organized, but in the > beginning organization isn't the problem. Formulating algorithms and > implementing them is the problem. And OOP is just too mature. > > Bob Hansen > > I don't need to introduce class methods or static methods to have students programming Fraction, Vector, Polyhedron, and Fractal types. If they want to go on in Python, as many of them will, then those topics will come up. But no one is forcing them to learn "all of Python" in 11th grade.
You seem to have this "all or nothing" mindset, wherein if we so much a broach the topic of SQL, then that entails months of rigorous training as a DBA. It doesn't. Greg thinks it's "shallow" to know a little about a lot. My position is a USA public school education should be about preparing a hypothetical president of the USA. What does Obama need to know about what "API" means for example?