On Tue, Jul 5, 2016 at 9:14 AM, kirby urner <kirby.ur...@gmail.com> wrote:
> > > What's standing out for me is how often Jessica > uses the phrase "just like in math class" or "as > you'd expect from math class". > > Exactly, reminding viewers of "math class" is > as bridge to previous relevant experience for > most, though not all. > > On the other hand, given it's 2016 and scientific calculators still reign supreme in the math classrooms of many schools, I wonder if I'm really barking up the wrong tree. If you look at J-language documentation and teaching materials (jsoftware.com), you'll see a lot of emphasis on "parts of speech". J semantics is learned more like a human language in terms of having nouns and verbs, phrases and sentences. I consider J a "hard language". It's a direct descendant of APL (also by Iverson). When implementing object oriented programming, so many languages use "dot notation". I'm thinking a best way to introduce that is using "parts of speech" the way J does: >>> noun = Thing() # give birth to a new Thing >>> noun.color # adjective 'red' >>> noun.sayhello() # verb 'hello, world' We want students to think of dot notation in a really generic way. Rather than say "object" which comes heavy with technical connotations, why not say "thing" (as in "Internet of Things"). Right away, we think of a "generic thing" as having: (A) in outside (a control surface, the API) (B) an inside (a place for "internal state") (C) attributes - (C.i) adjectives (properties) - (C.ii) verbs (behaviors, abilities, callables methods) - (C.iii) nouns (a thing may contain other things) Should we be integrating "dot notation" within human language classes? I'm thinking PSL or "Python as a second language" might make a good title, alluding to ESL ("English as a Second Language") already in common use. In PSL we're leveraging any knowledge of a human language grammar, with its nouns, verbs and adjectives, to phase in "dot notation" as a syntax. (One could even use PSL to leverage ESL by using Python as something to converse about when teaching English). If math teachers realized that English teachers down the hall were sharing Python as a way of reinforcing the whole idea of "languages" and "grammar", they might start to take notice. There's lots an English teacher might do with Python to weave in a lot of culture and history as well, one we're planted in the humanities. Lets start with Delphi and Mount Parnassus! Human language teachers also care about typography, fonts, glyphs, symbols. That's were ASCII and Unicode come in, but also "translating" e.g. "what does capital Sigma mean?" in typography (as a glyph). In showing a Python loop to explain Sigma, we might claim we're learning PSL, not math, and not even STEM necessarily. The poet Gene Fowler ('Waking the Poet') encouraged English teachers [1] to incorporate HTML into their course material as "more punctuation" (of a kind). HTML / CSS is clearly in the realm of the "printed word" (along with the printing press and book binding). Should ESL teachers take a look at PSL as a tool for teaching English? Is it time to give up on mathematics as the logical place to phase in computer languages? Isn't "math language" a human language and therefore usable in "language class"? In looking at the challenge in this way, I'm clearly influenced by the LEX Institute and their flagship book 'Who Is Fourier?' For those unfamiliar with this excellent tome, it takes the point of view that techniques for learning human languages work well for learning math. Here are some primitive whiteboard style graphics to go with my "PSL" proposal: https://flic.kr/p/JGZkrB https://flic.kr/p/JGZmGn https://flic.kr/p/Jp5Axq This approach pertains to other languages besides Python. It's more a generic approach to OO. What I want to show students is they already know OO if they know English or another human language grammar. It's a matter of mapping the known to the unknown. Starting with "object" as something "on the heap in computer memory" or some such verbiage is making objects seem alien and esoteric, a part of a remote knowledge domain or space governed by computer science. But the whole point of OO was to leverage everyday commonsense notions about "things in general" to make computer programs more expressive. OO was an attempt to mirror how we already think, so that the language would get out of the way and let us focus on the problem at hand. However if we don't hold up the mirror to everyday thinking and point out these connections, will students make those links on their own? Kirby
_______________________________________________ Edu-sig mailing list Edu-sig@python.org https://mail.python.org/mailman/listinfo/edu-sig