First, thanks to everyone so far for the responses on this.  I appreciate
the caliber of the dialog on this list.  It has been very helpful.

On Sun, Dec 20, 2009 at 8:27 AM, john_perry_usm <john.pe...@usm.edu> wrote:

>
>
> >    4. In a computational age, it is more important to grasp relations
> >    between concepts than to memorize particular formulas.  Better to
> learn how
> >    to analyze a concept as a set of inter-related concepts.  Example -
> the
> >    quadratic formula.
>
> Yes to the first, but an emphatic no to the example.
>
> First, the quadratic formula isn't really that hard to memorize.
>

Sure, I agree.  And not only that, I also think they should be able to
derive it from scratch.  However, in reality, wow ... there are some kids
who really can get how to think about it that way, but the problem in so
many cases is all they WANT is to be told is what to 'memorize' ... for a
test.  It's so sad.

So a huge issue is how to get them to reason.  Finding things they can do
without getting frustrated and quitting, but things that are educationally
significant.  I found that having them practice creating lists of ordered
pairs for a function and a domain via list comprehension very good for that.
 Simple enough, yet challenging enough for most of them.  And close enough
to the pure algebra itself that no one can argue that I'm teaching 'Python'
or 'Sage' rather than 'math'.  Those can be very frustrating kinds of
discussions.  It's so bizarre trying to do this in a culture that considers
this stuff as something 'outside' of math.

Perhaps it's because of the resistance I've experienced that I gravitated
toward the Papadimitrious quote.  : )  But yes, pure CS is a subset of
mathematics as a whole.

>  However, a more conceptually
> >    valuable expression might be to express it as h +/- r, where h =axis
> of
> >    symmetry, and r = distance to the roots.
>
> I don't see how technology will help here; it isn't hard to draw this
> on the board, or on a sheet of paper.
>

Oh sure, I agree with that.  Sometimes it's sufficient and even better to
just hastily scrawl something that kind of resembles a parabola, just to
empahsize that we're talking in general terms.

The point I'm trying to develop here isn't so much the issue of using Sage
to create visuals but the issue of thinking in terms of functional
decompositions.

Instead of seeing something like the quadratic formula as just a set of
symbols in a kind of bizarre arrangement, students can hopefully learn to
think of the formula as a set of related ideas, such as an
axis_of_symmetry() +/- distance_to_roots().  The distance_to_roots function
could be composed using a discriminant function, etc.

It's definitely the case that something like the quadratic formula would
normally not require such elaborate treatment if we're just going to use it
as is for solving quadratic equations.  But perhaps modeling a concept like
that through a very simple suite of interacting functions, each of which
performs a unique task and can be used independently, could give students a
sense for how programs get constructed, plus give them a better grasp of
what the formula is saying in the first place.

I guess I should also say that something like h +/- r would not be meant as
a replacement of the traditional formula.  Sure, they'd still need to
internalize the traditional formula.  But creating a suite of simple
functions like that would be easy enough but also challenging enough for
most of them, plus these functions could then easily be configured with
@interact.

Another example of what I'm trying to get at with this 'functional
decomposition' theme: standard deviation.  We can define standard deviation
as:

def stdev(L): return sqrt(variance(L))
def variance(L): return mean(squares(deviations(L)))
def deviations(L): return [(x - mean(L)) for x in L]
def squares(L): return [x^2 for x in L]
def mean(L): return sum(L)/len(L)

We are not just blindly coding the typical formula for standard deviation
here.  It's a concept map, and it works!  (It's also the population rather
than the sample formula, but that's easily adjusted.)

I've been using that little suite when we study standard deviation, and they
are able to latch onto phrases like 'Variance is the mean of the squared
deviations'.  I think this is better than trying to memorize a bunch of
greek symbols.

I also know that the language R is built into Sage.  I haven't explored that
yet, but even with that available, I think this kind of little functional
analysis of the concept is good to understand.

>    6. There is always a tension between the use of calculators and
> 'showing
> >    ones work'.  Kids hate having to write it all out if the calculator
> has
> >    already done it.  All kinds of discussions go on about how 'much' work
> needs
> >    to be 'shown'.  All of this becomes irrelevant if we instead focus on
> the
> >    'work' being a functional decomposition of a problem or a concept.  If
> one
> >    does ones 'work' correctly, the 'work' will then work for you!  You
> can use
> >    it!
>
> I don't think the discussion becomes irrelevant at all. It will always
> be relevant because different people are interested in different
> aspects of a problem.
>

Right, I don't mean to say that discussion of the problem becomes irrelevant
or even that written discussion is irrelevant.  I mean that certain kinds of
arguments will become irrelevant.  I'm trying to get at another sense for
what it means to 'show one's work'.  If one's work is to construct a set of
functions that will solve a problem, then one's work works!  It could make
the discussion of 'showing work' more meaningful.  Instead of writing the
math out by hand and using the calculator to handle the grunt work, I'd
rather throw away the calculator and focus on how to get the kids to
construct, articulate, a computational analysis of a situation.

Another example of how computational thinking can make the math more
meaningful - the very concept of specifying the domain of a function.  Kids
hate it and think it's just a formality, and usually that's how it's
treated.  But in a computational sense, if you're not careful about your
domain, your function can blow up!  This is what establishing pre-conditions
is all about.

Thanks again for the dialog on this.

- Michel

--

You received this message because you are subscribed to the Google Groups 
"sage-edu" group.
To post to this group, send email to sage-...@googlegroups.com.
To unsubscribe from this group, send email to 
sage-edu+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/sage-edu?hl=en.


Reply via email to