That's cool. I was hoping my bold assertion of being almost alone on the front lines would inspire protests from my comrades.
Kirby On Sat, Oct 9, 2010 at 6:35 PM, Calcpage <calcp...@aol.com> wrote: > I've been selling python, SAGE and the Litvin text to High School math and > compsci teachers for some time too! > > I've been talking up python on the AP Calculus, AP Physics and AP CompSci > listservs quite a lot actually. I also promote python on my blog! > > Regards, > A. Jorge Garcia > Applied Math & CS > Baldwin SHS & Nassau CC > http://shadowfaxrant.blogspot.com > http://www.youtube.com/calcpage2009 > Sent from my iPod > > On Oct 9, 2010, at 8:33 PM, kirby urner <kirby.ur...@gmail.com> wrote: > >> Greetings edu-siggers -- >> >> The appended thread is from the Math Forum and my role is somewhat >> tangential i.e. I'm always the only one present quoting any Python. >> >> Complete thread in case anyone wants more context: >> http://www.mathforum.org/kb/thread.jspa?threadID=2154964&tstart=0 >> >> No one else in the world has the job of promoting Python to K-12 math >> teachers so directly and publicly, except for the Litvins with their >> ground-breaking MFTDA (Math for the Digital Age and Programming >> in Python, Skylit publishing). >> >> Per my Grossology slides included in the presentation in Vilnius, >> there's a recognized way to gain some bandwidth among multi-tasking >> youth by including stuff that's "gross" or "demented" (see exhibit >> below). >> >> Cartoons often exploit this technique, with adults as well. There's >> a whole genre of cartoons considered "sick and twisted" (Bill Plympton >> an example contributor). Portland, Oregon has many festivals >> centering around such content. >> >> Such comedic material is apropos per the Monty Python genesis of >> the name Python. I've often though of Python's subculture as TV-14 >> and above, meaning we're not trying to compete with the Alan Kays >> of this world, or with Scratch (which is also fun for grownups, if given >> permission by their peers). >> >> Python takes typing, is not a visual language, takes some lexical >> sophistication. There's no reason to feature the same language at >> all levels or in all circumstances, obviously. >> >> Anyway, nothing below is especially "sick and twisted" besides the >> term "snake barf", which refers to the interpreter's coming back with >> traceback error messages (raising exceptions) when uninterpretable >> (inedible) expressions get offered. >> >> Thinking of the Python interpreter as this "creature" that responds >> in a kind of "chat window" is not a bad way to go, given the name. >> >> You'll also see more of my "everything is a python in Python", a variant >> on "everything is an object". The paradigm object, in having special >> names (if only __init__ and __repr__), i.e. a "rack of __ribs__" is >> somewhat snakelike in appearance. >> >> Relevant slides: >> >> http://www.4dsolutions.net/presentations/connectingthedots.pdf >> (slides 11, 12 re "everything is a snake", 23, 24 re Grossology). >> >> Exhibit: "demented cartoon" (Ren and Stimpy, Aqua Teenage >> Hunger Force, and Spongebob would be other examples). >> >> http://www.youtube.com/watch?v=Li5nMsXg1Lk >> >> Having such toons communicating more mathematical concepts, >> including Python (as one of many machine executable math >> languages, as Leibniz envisioned), would be a feature of Python.tv >> (which Holden Web is keeping safe for when the time comes). >> >> Kirby >> >> >> ======================== >> >> Date: Oct 8, 2010 4:27 PM >> Author: kirby urner >> Subject: Re: Mathematician >> >> On Fri, Oct 8, 2010 at 11:36 AM, Jonathan Groves <jgro...@kaplan.edu> >> wrote: >>> >>> Mike and Wayne and others, >>> >>> I did look up what Johnson and Rising's book "Guidelines for Teaching >>> Mathematics" (2nd edition) says about discovery learning, and the >>> book says more about discovery learning than what I remembered. >>> Here are some things the book does say about discovery learning. >>> I will not list everything, but here are some of the big ideas I find >>> that are worth mentioning. >> >> Like here's what I might call "discovery learning"... >> >> The teacher is projecting in front of the whole class, and enters the >> sequence below. She doesn't necessarily talk a lot during the >> demo, other than saying things like "lets see what this does", >> "how about this?" i.e. noises associated with doing some inquiry. >> >> Students have the ability to follow along and then branch off >> doing their own experiments. A time allotment is provided, say >> 15 minutes, at the end of which students volunteer to come in >> front of the room, take charge of the projector, and give up to >> 5 minutes elucidation of what they've learned and/or think is >> going on, for the benefit of the rest of the class. >> >> Here's the scroll (reading program), a real time demo in this >> case (frozen here): >> >> Python 3.1rc1 (r31rc1:73069, May 31 2009, 08:57:10) [MSC v.1500 32 bit >> (Intel)] on win32 >> Type "copyright", "credits" or "license()" for more information. >> >>>>> int >> >> <class 'int'> >> >>>>> int('3') >> >> 3 >> >>>>> int('3', 2) >> >> Traceback (most recent call last): >> File "<pyshell#2>", line 1, in <module> >> int('3', 2) >> ValueError: invalid literal for int() with base 2: '3' >> >>>>> int(3, 2) >> >> Traceback (most recent call last): >> File "<pyshell#3>", line 1, in <module> >> int(3, 2) >> TypeError: int() can't convert non-string with explicit base >> >>>>> int('3', '2') >> >> Traceback (most recent call last): >> File "<pyshell#4>", line 1, in <module> >> int('3', '2') >> TypeError: an integer is required >> >>>>> int('3', 10) >> >> 3 >>>>> >>>>> int('3', 9) >> >> 3 >> >>>>> int('3', 2) >> >> Traceback (most recent call last): >> File "<pyshell#7>", line 1, in <module> >> int('3', 2) >> ValueError: invalid literal for int() with base 2: '3' >> >>>>> int('1000101010100', 2) >> >> 4436 >> >> New topic. The teacher enters the following in an editor window, >> saves to site-packages and then runs: >> >> def f(g): >> def anon(x): >> return g(x + 2) >> return anon >> >> @f >> def m(x): return 2 * x >> >> @f >> def k(x): return x + 2 >> >> print ( k(10) ) >> >> print ( m(10) ) >> >> Here is the output: >> >>>>> ================================ RESTART >>>>> ================================ >>>>> >> 14 >> 24 >>>>> >> >> >> Students regularly give lightning talks in this classroom. These are >> akin to "show and tell", which is a valuable institution at all levels. >> The standard feature of a lightning talk is it's no more than five minutes >> (points off for going over), but there's no requirement that it go for >> that >> long. Sometimes a student will come to the front of the room and >> address the class for a much shorter period. >> >> Having students come to the front and take control of the projector >> is a variation on a theme. In a standard Math Lab (does your school >> have one?) any student has the ability to switch what's on her or >> his workstation to the screen up front. The teacher may also have >> this capability, along with mixing controls. A Math Lab session will >> typically result in an output recording drawing from several workstations >> and edited in post production. Sound may be added. The growing >> database of clips is on the school intranet. Fractals alone might >> account for quite a few gigabytes of storage, with student projects >> aggregating. College admissions officers may be granted PIN >> numbers to view student records, with student permission. >> >> Anyway, the question is whether projecting content, not explaining >> everything, encouraging exploration, giving opportunities to elucidate, >> followed by some teacher explication, is a 'discovery learning' workflow. >> To the best of my knowledge, 'discovery learning' is not trademarked >> and so it could well be, without anyone taking serious objection. >> You may have noticed that the int function (above) wants you to say >> what base your number object is in, at which point it returns a base 10 >> result. int('3', 2) was asking for something the int function can't do >> (it's not about "converting" the decimal number '3' into base 2 here) >> whereas something like int('FF', 16) or int('10101', 2) would be perfectly >> OK, no "snake barf" for feedback (where Python spits back your >> "animal argument" i.e. raises an exception). >> >> Remember "everything is a python in Python" meaning a creaturely >> object (has behavior and internal state, a self / dictionary), potentially >> with lotsa __ribs__ (special names) and therefore a spine -- like a >> snake does. >> >> We use a lot of biological metaphors on purpose, given mega-trends in >> physics teaching these days (math teachers are also welcome to use >> this free technology, though we understand they're still mostly addicted >> to calculators). >> >> The "decorator syntax" (@) is about taking a function definition and >> sending it through a wringer of sorts, spitting out a new function of the >> same name.** In this example, the input function is modified such >> that its input argument will get bumped up by 2, before a function's >> machinery is allowed to do its work. >> >> Kirby >> >> ** I can't help but think of 'Invasion' the TV science fiction soap opera, >> wherein people were eaten by creatures in the Florida swamp, then >> returned, almost themselves (but only almost): >> >> http://www.imdb.com/title/tt0460651/ >> >> - -- if these were beginners, I'd do more on the history of the decorator >> feature, starting with the idea of properties in classes. >> >> >>> >>> 1. Discovery learning is a difficult teaching method because it must >>> be continually adapted to students' questions and comments and what >>> progress they have made thus far. We cannot plan extensively for >>> discovery learning just as we cannot plan extensively in advance for >>> a discussion; we will not know how the discussion will go or where it >>> will lead until we actually do it. >>> >>> 2. As I had mentioned earlier, discovery learning is not appropriate >>> for all situations. One example they give here is trying to get >>> students to discover a definition. >>> >>> 3. The idea of discovery learning is that it helps students find their >>> own meaning in the mathematical concepts and their own connections of >>> that concept with their previous knowledge and experiences. Previous >>> experiences happen to be one reason why our thinking about a concept >>> makes perfect sense to ourselves and other students but makes no sense >>> to someone else; that baffled student might not have had those >>> experiences >>> to make that explanation meaningful to him or her. >>> >>> 4. Some ideas for prompting students to think more deeply (examples >>> taken >>> straight from this book): >>> >>> "Give me another example." >>> "Do you believe that, Bill?" >>> "How do you know that?" >>> "Can anyone find a case for which John's rule does not work?" >>> "That seems to work. Will it always?" >>> "Have we forgotten any cases?" >>> >>> 5. The book points out some cautions to discovery learning (as quoted >>> from >>> the book): >>> >>> a. Be sure that the correct generalizations are the end result. >>> b. Do not expect everybody to discover every generalization. >>> c. Do not plan to discover all the ideas of your course. Discovery of >>> some ideas is too inefficient. Sometimes students do not need an >>> intuitive, >>> emprical, discovery approach to understand an idea. >>> d. Expect discoveries to take time. >>> e. Do not expect the generalization to be verbalized as soon as it is >>> discovered. >>> f. Avoid overstructuring experiences. >>> g. Avoid jumping to conclusions on the basis of too few samples. >>> h. Do not be negative, critical, or unreceptive to unusual or off-beat >>> questions or suggestions. However, incorrect responses must not be >>> accepted as true; and disruptive, nonessential explorations must be >>> eliminated. Students should know that their status is not threatened >>> by incorrect answers. >>> i. Keep the student aware of the progress he is making. >>> j. If possible, have crucial ideas "discovered" repeatedly or by >>> different methods. >>> k. Finally, each student must recognize why his discoveries are >>> significant >>> and how the ideas are incorporated in the structure involved. >>> >>> 6. The book gives some examples of ideas that students can try to >>> discover for themselves: >>> >>> a. The difference between the prime numbers 5 and 2 is 3. Why do no >>> other prime numbers have this property? Here is a related one I have >>> thought of: 3, 5, 7 are three consecutive odd natural numbers that are >>> also prime numbers. Are there any other examples of three consecutive >>> odd natural numbers where all three are prime numbers? If not, then >>> why is this example the only one possible? >>> >>> b. What do we know about sums and products of odd integers? >>> >>> c. Why is 1.999....=2? >>> >>> d. What is the maximum number of pieces of pie if a round pie is >>> divided by seven cuts? >>> >>> e. How are the slope and y-intercept of a line related to the equation >>> of a line? >>> >>> f. How is the perimeter of a right triangle related to its area? >>> >>> g. What is the number of subsets of a finite set? (The book does not >>> say "finite" but should.) >>> >>> h. How can the formulas for areas of geometric figures be related to the >>> area of a rectangle? >>> >>> i. What equality properties apply to inequalities? For those that do >>> not, can you find conditions for which these equality properties apply >>> to inequalities? >>> >>> Here is one I thought of: >>> >>> j. Must we use the LCD to add or subtract fractions? Or will any >>> common denominator work? If any common denominator works, can you >>> see why? I like this one because I have seen many students who >>> believe that adding or subtracting fractions using a common denominator >>> besides the least common one is wrong simply because "that's not how >>> I was taught to do that." >>> >>> >>> A comment to Mike Dougherty: In some sense, asking students to discover >>> the reasoning and logic behind mathematics is discovery teaching. >>> Sometimes this term refers to getting students to discover ideas and >>> the underlying logic for themselves such as discovering and proving >>> a theorem, something similar to what a mathematician has to do when >>> developing a theory. Other times it can refer to having students fill >>> in the details of the reasoning after the teacher has presented the big >>> ideas and some outline of the reasoning with the details omitted so that >>> students can try to fill those in for themselves. In these cases, the >>> student is not asked to discover theorems but is asked instead to >>> discover the proofs of them. It is clear from the examples given above >>> from the book I had cited that this book uses the word "discovery >>> learning" or "discovery teaching" in both of these senses. >>> >>> I don't know if we explain too much, but I often question if we, >>> including >>> myself, explain too much too quickly before giving the students chances >>> to think about and see these ideas for themselves. That is, if we >>> explain >>> too much up front, then we don't give students many chances to think for >>> themselves. We also give students the impression that it is okay to >>> take our word for it, especially permanently rather than just temporarily >>> for convenience, even if they haven't the foggiest idea of why that is >>> true. >>> I don't see a problem with a student who wants to take our word for it >>> for >>> the time being, especially if they need to use that result immediately, >>> if the student is willing to try later to see why that is true. Of >>> course, >>> if the proof of the result is beyond the scope of the course, then that >>> is >>> a completely different matter. >>> >>> >>> >>> >>> Jonathan Groves >>> >>> >>> >>> >>> On 10/8/2010 at 11:21 am, Michael Dougherty wrote: >>> >>>> To me, math is almost automatically "discovery >>>> learning." Maybe all subjects are but I could argue >>>> math is more so. It's just a matter of how much of >>>> it you want them to discover on their own. If I >>>> teach trigonometric substitution or partial fractions >>>> decompositions, they will still have to "discover" >>>> the logic of it as they go, even if I completely >>>> explain the logic to them in my always brilliant >>>> lectures. I suppose if I want to give these two >>>> topics a month instead of a week (collectively), they >>>> might be able to "discover" it from something closer >>>> to first principles, but no matter how much I explain >>>> things they still have to work the problems to >>>> "discover" what works and what does not. >>>> >>>> As they say, give a man a fish and you feed him for a >>>> day; teach him to fish and you feed him for a >>>> lifetime. >>>> >>>> OK, but now they're asking us to let him discover for >>>> himself how to fish, perhaps out of desperation? >>>> He'll know some aspects of fishing better than if >>>> f you teach him, but he'll miss out on a lot of >>>> details you could have taught him. And a lot of time >>>> will be consumed where it did not have to be. >>>> >>>> As he gets older, it's good if we can teach him how >>>> to find the resources to "teach himself," but in the >>>> beginning it's better to present a logical context >>>> and let them work through it. >>>> >>>> But I submit it's still "discovery," that they will >>>> make working through problems we give them. The rest >>>> is arguing about what level we want them to start, >>>> and how much guidance to give them. Also, how much >>>> of it we want to be a group activity. >>>> >>>> So when I hear "discovery learning," I'm hearing that >>>> they think we explain too much. In math, that's >>>> almost impossible, if at some point you make them >>>> work problems on their own. >>>> >>>> - --Mike D. >> >> _______________________________________________ >> Edu-sig mailing list >> Edu-sig@python.org >> http://mail.python.org/mailman/listinfo/edu-sig > _______________________________________________ Edu-sig mailing list Edu-sig@python.org http://mail.python.org/mailman/listinfo/edu-sig