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

Reply via email to